strtotime
Analizza qualsiasi descrizione datetime testuale inglese e la converte in uno Unix timestamp
La funzione si aspetta una stringa contenente un formato di data inglese e proverà ad analizzare quel formato ed a convertirlo in uno Unix timestamp (il numero di secondi dall'1 Gennaio 1970 00:00:00 UTC), relativo al timestamp dato in now, oppure all'ora corrente se non viene fornito now.
Ogni parametro di questa funzione usa il fuso orario predefinito a meno che non sia specificato il fuso orario in quel parametro. Badare a non usare diversi fusi orari in ogni parametro a meno che non sia intenzionale. Vedere date_default_timezone_get sui vari modi per definire il fuso orario predefinito.
time Date formats parameter now Il timestamp che è usato come base per il calcolo delle date relative.
Restituisce un timestamp in caso di successo, altrimenti false. Prima di PHP 5.1.0,
questa funzione restituiva -1 in caso di fallimento.
Version
Description
5.3.0
Prima di PHP 5.3.0, i formati del tempo relativi forniti all'argomento
time di strtotime
come this week, previous week,
last week, e next week erano
interpretati per intendere un periodo di 7 giorni relativo alla data/ora corrente, invece
di un periodo settimanale di Monday a Sunday.
5.3.0
Prima di PHP 5.3.0, 24:00 non era un formato valido e
strtotime restituiva false.
5.2.7
In PHP 5 precedente a 5.2.7, richiedere una data occorrenza di un
dato giorno della settimana in un mese dove il giorno della settimana era il primo giorno
del mese aggiungerebbe in modo scorretto una settimana al timestamp
restituito. Questo è stato corretto in 5.2.7 e nelle versioni
successive.
5.1.0
Ora restituisce false in caso di fallimento, invece
di -1.
Date timezone errors changelog
5.0.2
In PHP 5 fino a 5.0.2, "now" e altri
tempi relativi sono erroneamente calcolati a partire dalla mezzanotte
di oggi. Questo differisce dalle altre versioni in cui viene
correttamente calcolato dal tempo corrente.
5.0.0
I microsecondi hanno cominciato ad essere consentiti, ma sono ignorati.
Un esempio di strtotime <?php echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week"), "\n"; echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; echo strtotime("next Thursday"), "\n"; echo strtotime("last Monday"), "\n"; ?>
Controllo per il fallimento <?php $str = 'Not Good'; // prima di PHP 5.1.0 si sarebbe dovuto fare il confronto con -1, invece di false if (($timestamp = strtotime($str)) === false) { echo "The string ($str) is bogus"; } else { echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp); } ?>
m/d/y o d-m-y
sono differenziati in base al separatore tra i vari
componenti: se il separatore è uno slash (/), allora
è assunto l'americano m/d/y; mentre se il separatore è un
trattino (-) o un puntino (.), allora è
assunto il formato europeo d-m-y.
Se, comunque, l'anno viene dato in un formato a due cifre e il separatore è un
trattino (-, la stringa data è analizzata come
y-m-d.
Per evitare potenziali ambiguità, è meglio usare le date
ISO 8601 (YYYY-MM-DD) o
DateTime::createFromFormat quando possibile.
Formati di Data e Tempo DateTime::createFromFormat checkdate strptime