php date - "scritto 15 minuti fa..." etc..

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, come posso fare o trovare un metodo che quando scrivo una notizia e salvo la data in formato inglese e far venire fuori..
tipo:

la notizia è stata scritta 15 minuti fa..
la notizia è stata scritta 20 minuti fa..
la notizia è stata scritta 1 ora fa..
etc..

mi dite come posso fare?

grazie mille.
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao
posta esattamente come formatti la data es
16-10-2013
16 10 2103
16-10-2013 11:33
ecccc...

ok, la faccio cosi:
echo "".date("Y-m-d H:i:s")."";

in inglese perché mi è più semplice da gestirla, tanto dopo ho la funzione che me la converte in italiano.

come si può fare .. c'è un termine di linguaggio che cosi cerco su google.?
 

GAMI

Nuovo Utente
16 Ott 2013
11
0
0
www.ga-mi.com
ok, la faccio cosi:
echo "".date("Y-m-d H:i:s")."";

in inglese perché mi è più semplice da gestirla, tanto dopo ho la funzione che me la converte in italiano.

come si può fare .. c'è un termine di linguaggio che cosi cerco su google.?

Se il server supporta PHP5 è facile puoi fare in questo modo:

$first = new DateTime( '2001-01-01 11:35:20' ); //prima data da controllare
$second = new DateTime( '2001-01-02 12:00:45' ); //data attuale o data di riferimento

$diff = $first->diff( $second ); // Calcolo la differenza

echo $diff->format( '%Y-%m-%d %H:%I:%S' ); // -> 00-0-1 00:25:25

Puoi gestirti il formato di visualizzazione come preferisci con la funzione format.
Chiaramente è uno spunto dovrai adattarlo al tuo scopo

Ciao
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
si supporta il 5.4, lo messo io nel panello del servizio della mia zia..

facendo una funzione si può fare?

esempio <?php echo "".$stampa_data($row["data"])).""; ?>

perché salvo la data in datetime.

mi protesti aiutarmi..perché io con le funzioni so poco.

Per adesso ho fatto copia/incolla tramite codice che trovo su internet e l'aiuto vostro.

ti ringrazio molto e buona giornata.
 

GAMI

Nuovo Utente
16 Ott 2013
11
0
0
www.ga-mi.com
si si può fare ma le funzioni e le viste separale sempre...
Almeno io faccio così

$valorefunzione=$stampa_data($row["data"]);

echo $valorefunzione;

così in debug so se ho sbagliato sintassi o se la funzione non funziona (gioco di parole) :) e li separo.

ciao
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova questa
PHP:
<?php
function da_quanto($data){
	$data_ora=time();//data attuale in timestamp
	//formato data Y-m-d H:i:s
	$d=explode(" ", $data);//$d[0]=>"Y-m-d", $d[1]=>"H:i:s"
	$d_1=explode("-",$d[0]);//$d_1[0]=>"Y", $d_1[1]=>"m",$d_1[2]=>"d"
	$d_2=explode(":",$d[1]);//$d_2[0]=>"H", $d_2[1]=>"i",$d_2[2]=>"s"
	$data_news=mktime((int)$d_2[0],(int)$d_2[1],(int)$d_2[2],(int)$d_1[1],(int)$d_1[2],(int)$d_1[0]);//data news in timestamp
	$delta=$data_ora-$data_news;//intervallo
	if($delta < 60){//meno di un minuto
		return "adesso";
	}
	//calcolo il delta in giorni
	$gg=$delta/(24*3600);
	if((int)$gg > 0){
		return " ".(int)$gg." giorni ";//ritorno quanti giorni
	}
	//calcolo il delta in ore
	$ore=$delta/3600;
	if((int)$ore > 0){
		return  " ".(int)$ore." ore ";//o ritorno quante ore
	}
	//riporto i minuti
	return " ".(int)($delta/60)." min ";//o ritorno i minuti
}
//***TEST******
//$data_news="2013-10-16 09:50:33";
//$data_news="2013-10-16 13:50:33";
$data_news="2013-10-14 13:50:33";
echo "news del $data_news<br />";
echo "news pubblicata".da_quanto($data_news)." fa";
?>
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao
prova questa
PHP:
<?php
function da_quanto($data){
	$data_ora=time();//data attuale in timestamp
	//formato data Y-m-d H:i:s
	$d=explode(" ", $data);//$d[0]=>"Y-m-d", $d[1]=>"H:i:s"
	$d_1=explode("-",$d[0]);//$d_1[0]=>"Y", $d_1[1]=>"m",$d_1[2]=>"d"
	$d_2=explode(":",$d[1]);//$d_2[0]=>"H", $d_2[1]=>"i",$d_2[2]=>"s"
	$data_news=mktime((int)$d_2[0],(int)$d_2[1],(int)$d_2[2],(int)$d_1[1],(int)$d_1[2],(int)$d_1[0]);//data news in timestamp
	$delta=$data_ora-$data_news;//intervallo
	if($delta < 60){//meno di un minuto
		return "adesso";
	}
	//calcolo il delta in giorni
	$gg=$delta/(24*3600);
	if((int)$gg > 0){
		return " ".(int)$gg." giorni ";//ritorno quanti giorni
	}
	//calcolo il delta in ore
	$ore=$delta/3600;
	if((int)$ore > 0){
		return  " ".(int)$ore." ore ";//o ritorno quante ore
	}
	//riporto i minuti
	return " ".(int)($delta/60)." min ";//o ritorno i minuti
}
//***TEST******
//$data_news="2013-10-16 09:50:33";
//$data_news="2013-10-16 13:50:33";
$data_news="2013-10-14 13:50:33";
echo "news del $data_news<br />";
echo "news pubblicata".da_quanto($data_news)." fa";
?>
ora provo, scusa ma ero via.
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao borgo..

ho provato

ho una notizia che è stata scritta il : 2013-10-14 21:49:07

ma la funzione dice che è stata scritta 1 giorni.

come mai?.

grazie mille e buona serata.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
semplice, perchè se (prendo l'ora in questo momento che mi da il pc) la data è
2013-10-16 17:16:00
tra questa e la
2013-10-14 21:49:07
non sono passati ancora due giorni ma uno e un po', ti riporterà due giorni quando la data attuale diventerà
2013-10-16 49:07:01
cioè almeno un secondo in più
modificando la funzione potresti ottenere es. 1 gg 45 min
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao
semplice, perchè se (prendo l'ora in questo momento che mi da il pc) la data è
2013-10-16 17:16:00
tra questa e la
2013-10-14 21:49:07
non sono passati ancora due giorni ma uno e un po', ti riporterà due giorni quando la data attuale diventerà
2013-10-16 49:07:01
cioè almeno un secondo in più
modificando la funzione potresti ottenere es. 1 gg 45 min

come faccio ad sistemarla?

mi protesti aiutarmi.?

grazie mille.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P [PHP] Input Type="date" non va correttamente con Apple PHP 2
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
maxnegri Conoscere giorni della settimana fra due date con php PHP 2
P [PHP] Calcolo prezzi camera in range di date diverse PHP 11
M [PHP] Convertire date da americana a italiana direttamente nel db PHP 6
trattorino [PHP] prelevare minuti da date confrontate PHP 2
Emix [PHP] Differenza Date + Ore PHP 3
napuleone [PHP] Ho la settimana e l'anno cerco le date PHP 4
gandalf1959 Selezionare un intervallo tra due date, php e mysql PHP 2
valvasori [PHP] Proble di date PHP 14
M [PHP] Date(time) PHP 2
J Confronto Date PHP - MySQL PHP 1
D calcolo fra date php PHP 2
S Problema con date in php PHP 2
V Calcolare la differenza tra due date in PHP PHP 1
L Date e calendari con php PHP 1
K [PHP/MYSQL] Uno storico trasporti e comparazioni di date, sono totalmente bloccato. PHP 2
I Le Famigerate Date del PHP. PHP 12
Monital Date in php PHP 6
M [PHP] calendario con eventi problema con date PHP 9
ElfoDelBasket [mysql/php] formattare le date PHP 2
O per Easy PHP mi date un consiglio ? PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0

Discussioni simili