Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - Normální datum ve tvaru dd:mm:yyyy na UNIXový čas a naopak

Ahoj, je v PHP 5 funkce, pomocí které se převede normální datum a čas ve tvaru dd.mm.yyyy hh:mm:ss na UNIXový čas a naopak. Zatím jsem to řešil vlastními funkcemi a ta přesnost je otřesná (+- 10000 sekund od reálu), což je opravdu moc. Díky.

PS: Na php.net jsem hledal, ale moc moudrý z toho nejsem, protože moc nevím, co mám hledat.

Předmět Autor Datum
Napr.: $text = "24.12.2008 12:30:15"; @list($date, $time) = explode(" ", $text); @list($day, $month…
los 17.12.2008 20:38
los
Asi jsem to blbě zformuloval, já bych rád převedl datum a čas ve formátu např. 24.12.2008 12:30:15 n…
marekdrtic 17.12.2008 20:47
marekdrtic
jsem neprogramátor, tak mě ber s rezervou. mám za to že pc windows čas bere 1.1.70 jako základ, linu…
lední brtník 17.12.2008 21:53
lední brtník
je teda PHP moc neovladam (jsp rulezz ..) ale podle manual strtotime $mysql_now='2008-07-23 06:07:4…
AZOR 17.12.2008 22:09
AZOR
echo date("U", strtotime('24.12.2008 12:30:15')); EDIT: případně pouze strtotime(), takže: echo st…
Marvin 17.12.2008 22:03
Marvin
díky moc funguje to ;-):beer::beer: poslední
marekdrtic 18.12.2008 06:39
marekdrtic

Napr.:

$text = "24.12.2008 12:30:15";
@list($date, $time) = explode(" ", $text);
@list($day, $month, $year) = explode(".", $date, 3);
@list($hour, $minute, $second) = explode(":", $time, 3);
$timestamp = mktime((int)$hour, (int)$minute, (int)$second, (int)$month ? (int)$month : 1, (int)$day ? (int)$day : 1, (int)$year);

$text = date("d.m.Y H:i:s", $timestamp);

Edit: Prípadne pri konverzii z textu na čas sa dá použiť regulárny výraz.

jsem neprogramátor, tak mě ber s rezervou.
mám za to že pc windows čas bere 1.1.70 jako základ, linux nevím ale asi něco jiného když se ptáš. unixový čas nula je možná dokonce rok 1900. no jo, vypadá to blbě, zkusím si počíst v manu.

edit: máš pravdu: datum počítaný od 1.1.70 je unixový (a předpokládám že i tučňákovitý) formát.
zatímco windows jako datum zrození berou snad 1.1.80, anebo billovy narozeniny, šlak ví.

Zpět do poradny Odpovědět na původní otázku Nahoru