Funkcja strtotime() w PHP
Przykład
Konwersja angielskiego tekstu daty i czasu na znacznik czasu Unix:
<?php echo(strtotime("now") . "<br>"); echo(strtotime("15 October 1980") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); ?>
Definicja i użycie
Funkcja strtotime() przetwarza dowolny tekstowy opis daty lub czasu na znak czasu Unix (liczbę sekund od 1 stycznia 1970 00:00:00 GMT).
Uwaga:Jeśli rok jest reprezentowany dwucyfrowym formatem, wartości 0-69 będą mapowane na lata 2000-2069, wartości 70-100 będą mapowane na lata 1970-2000.
Uwaga:Proszę zauważyć format daty m/d/y lub d-m-y, jeśli separator to ukośnik (/), używaj formatu amerykańskiego m/d/y. Jeśli separator to myślnik (-) lub kropka (.), używaj formatu europejskiego d-m-y. Aby uniknąć potencjalnych błędów, powinieneś jak najbardziej używać formatu YYYY-MM-DD lub funkcji date_create_from_format().
Gramatyka
strtotime(time,now);
Parametry | Opis |
---|---|
time | Wymagane. Określa ciąg znaków daty/czasu. |
now | Opcjonalnie. Określa znacznik czasu używany do obliczenia wartości zwracanej. Jeśli pominie się ten parametr, używa się bieżącego czasu. |
Szczegóły techniczne
Wartość zwracana: | Jeśli pomyślnie, zwraca znacznik czasu, w przypadku niepowodzenia zwraca FALSE. |
---|---|
Wersja PHP: | 4+ |
Log zmian:
5.3.0: | Teraz formaty względne, takie jak "ten tydzień", "poprzedni tydzień", "poprzedni tydzień", "następny tydzień", określają, że tydzień trwa od poniedziałku do niedzieli, a nie od 7 dni przed bieżącą datą/czasem. |
5.3.0 | Przed PHP 5.3.0, 24:00 nie był poprawnym formatem i strtotime() zwracał FALSE. |
5.2.7 | W wcześniejszych wersjach, jeśli żądano określonego dnia miesiąca, który był pierwszym dniem miesiąca, błędnie dodawano tydzień do zwracanego znacznika czasu, co teraz zostało poprawione. |
5.1.0 | W przypadku niepowodzenia zwraca FALSE (wcześniejsze wersje zwracały -1) i dodaje błędy stref czasowych E_STRICT i E_NOTICE. |
5.0.2 | Teraz "now" i inne względne daty są obliczane na podstawie bieżącej daty i czasu, a nie na podstawie północy dzisiejszej nocy. |
5.0.0 | Zezwala na mikrosekundy (choć liczba mikrosekund jest zazwyczaj ignorowana). |
4.4.0 | Przed PHP 4.4, "next" było błędnie obliczane jako +2. Zwykle rozwiązaniem jest użycie "+1". |