Forum und email

strtotime

(PHP 4, PHP 5)

strtotime — Mindenféle angol szöveges időpontot Unix időbélyeggé alakít

Leírás

int strtotime ( string $time [, int $now ] )

A függvény egy stringet vár, amiben egy angolul írt dátum van, és megpróbálja Unix időbélyeggé (1970 január 1. 00:00:00 GMT óta eltelt másodpercek száma) konvertálni, a now paramétert, vagy ha az nincs megadva, az aktuális időpontot figyelembe véve. Ha a függvény nem tudja értelmezni a karakterláncot, -1-gyel tér vissza.

Mivel a strtotime() függvény a GNU dátum szintaxisnak megfelelően viselkedik, nézd meg a » Date Input Formats című oldalakat a unix kézikönyvben (man). Ott le van írva a time paraméter pontos szintaxisa.

Warning

PHP 5 esetén az 5.0.2-es verzióig, a "now" és egyéb relatív időpontok az aznapi éjféltől számolódnak, helytelenül. Más verziókban ezt helyesen számolja: az aktuális időpontból.

Example#1 strtotime() példa

<?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";
?>

Example#2 Meghiúsulás-próba

<?php
$str 
'Nem jó';
if ((
$idobelyeg strtotime($str)) === -1) {
    echo 
"A string ($str) fura, nem értem";
} else {
echo 
"$str == " date('l dS of F Y h:i:s A'$idobelyeg);
?>
}

Note: Az időpont érvényes időpontja tipikusan 1901 Dec. 13. 20:25:54 és 2038. Jan. 19. 03:14:07 közötti időpontot jelent (Greenwich-i időpont szerint) (Ezek a dátumok a legkisebb és a legnagyobb 32-bites egész szám által reprezentált dátumok) Nem minden platform támogatja a negatív időbélyegeket, ezért a előfordulhat, hogy nem használhatsz Unix Epoch előtti dátumot. Ez azt jelenti, hogy például a 1970. január 1. előtti dátum nem működik Windows-on, néhány Linux disztribűcióban, és még néhány egyéb operációs rendszeren.