PHP
Datetime Class
Ricerca…
getTimestamp
getTimeStemp
è una rappresentazione unix di un oggetto datetime.
$date = new DateTime();
echo $date->getTimestamp();
questo mostrerà un numero intero che indica i secondi trascorsi dalle 00:00:00 UTC, giovedì 1 gennaio 1970.
impostare la data
setDate
imposta la data in un oggetto DateTime.
$date = new DateTime();
$date->setDate(2016, 7, 25);
questo esempio imposta la data del venticinque luglio 2015, produrrà il seguente risultato:
2016-07-25 17:52:15.819442
Aggiungere o sottrarre intervalli di date
Possiamo usare la classe DateInterval per aggiungere o sottrarre un intervallo in un oggetto DateTime.
Vedere l'esempio sotto, dove stiamo aggiungendo un intervallo di 7 giorni e stampando un messaggio sullo schermo:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Verrà pubblicato (in esecuzione il 1 ° agosto 2016):
Samara dice: Sette giorni. Sarai felice su 2016-08-08.
Possiamo usare il metodo sub in modo simile per sottrarre le date
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Verrà pubblicato (in esecuzione il 1 ° agosto 2016):
Samara dice: Sette giorni. Eri felice lo scorso 25/07/2016.
Crea DateTime dal formato personalizzato
PHP è in grado di analizzare un certo numero di formati di data . Se si desidera analizzare un formato non standard o se si desidera che il codice DateTime::createFromFormat
esplicitamente il formato da utilizzare, è possibile utilizzare il metodo statico DateTime::createFromFormat
:
Stile orientato agli oggetti
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Stile procedurale
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
Stampa DataTimes
PHP 4+ fornisce un metodo, formato che converte un oggetto DateTime in una stringa con un formato desiderato. Secondo PHP Manual, questa è la funzione orientata agli oggetti:
public string DateTime::format ( string $format )
La funzione date () accetta un parametro: un formato, che è una stringa
Formato
Il formato è una stringa e utilizza caratteri singoli per definire il formato:
- Y : rappresentazione a quattro cifre dell'anno (ad esempio: 2016)
- y : rappresentazione a due cifre dell'anno (es .: 16)
- m : mese, come numero (da 01 a 12)
- M : mese, come tre lettere (gennaio, febbraio, marzo, ecc.)
- j : giorno del mese, senza zeri iniziali (da 1 a 31)
- D : giorno della settimana, come tre lettere (lun, mar, mer, ecc.)
- h : ora (formato 12 ore) (da 01 a 12)
- H : ora (formato 24 ore) (da 00 a 23)
- A : AM o PM
- i : minuto, con zeri iniziali (da 00 a 59)
- s : secondo, con zeri iniziali (da 00 a 59)
- L'elenco completo può essere trovato qui
uso
Questi caratteri possono essere utilizzati in varie combinazioni per visualizzare i tempi in qualsiasi formato. Ecco alcuni esempi:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
Procedurale
Il formato procedurale è simile:
Orientato agli oggetti
$date->format($format)
Equivalente procedurale
date_format($date, $format)
Crea una versione immutabile di DateTime da Mutable precedente a PHP 5.6
Per creare \DateTimeImmutable
in PHP 5.6+ usa:
\DateTimeImmutable::createFromMutable($concrete);
Prima di PHP 5.6 puoi usare:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());