Autor | Zpráva | ||
---|---|---|---|
Daviart Profil |
#1 · Zasláno: 5. 5. 2012, 00:04:03
Chci převést vložené datum na počet vteřin od 1.1.1970, používám mktime(). nastal mi ale problém, na localhostu mi skript fungule tak jak má, ale jakmile jej nahraji na server, vyhazuje podivné číslo. Přesněji o dva roky a něco.
například při zadání datumu: 12. 5. 2012 localhost: 1354662000 server: 1391554800 <?php function akcedatum ($DateReFormat) { $CDate = (str_replace(" ","",$DateReFormat)); // zbavím se mezer $RDate = explode(".",$CDate); // rozdělíme to podle teček if((strlen($RDate['0'])==1)||(strlen($RDate['1'])==1)) // když datum neobsahuje dvě čísla { if(strlen($RDate['0'])==1) // den { $aDate = "0".$RDate['0']; // přidám nulu } else { $aDate = $RDate['0']; } if(strlen($RDate['1'])==1) // měsíc { $bDate = "0".$RDate['1']; // přidám nulu } else { $bDate = $RDate['1']; } $UDate = ($aDate.".".$bDate.".".$RDate['2']); // sestavím nový opravený řetězec } else { $UDate = ($RDate['0'].".".$RDate['1'].".".$RDate['2']); // sestavým řetězec } $UDateC = explode(".",$UDate); // rozdělím to na dd/mm/yyyy // echo($DateReFormat." > ".$CDate." > ".$UDate." | dd:".$UDateC['0']." | mm:".$UDateC['1']." | yyyy:".$UDateC['2']."<br>"); // ukaž co to děláš return (mktime(0, 0, 0, $UDateC['0'], $UDateC['1'], $UDateC['2'])); // převede na vteřiny od 1/1/1970 } echo(akcedatum($_GET['date'])); ?> <form action="#test" method="get"> <label for="date"></label> <input type="text" name="date" id="date"> <input type="submit" name="OK" id="OK" value="Odeslat"> </form> |
||
Keeehi Profil |
#2 · Zasláno: 5. 5. 2012, 01:27:46
On hlavně správný čas je 1336773600. To je totiž 12. května 2012 v sekundách.
function akcedatum ($DateReFormat) { return strtotime(str_replace(" ","",$DateReFormat)); } |
||
Daviart Profil |
#3 · Zasláno: 5. 5. 2012, 07:34:04
Ano, nakonec jsem to na tuto funkci předělal a funguje.
|
||
Tori Profil |
#4 · Zasláno: 5. 5. 2012, 21:54:34
Daviart:
mktime(0, 0, 0, $UDateC['0'], $UDateC['1'], $UDateC['2']) - podívejte se do manuálu, nejdřív se zadává měsíc (4.param) a až pak den (5.param). (To jen jako vysvětlení pravděpodobné příčiny chyby.)
|
||
Časová prodleva: 12 let
|
0