2 datums uit formulier vergelijken
In een formulier worden twee datums (yyyy-mm-dd) ingevoerd.
Nu wil ik het verschil tussen deze twee datums berekenen. Ondanks een zoektocht op Google kom ik er niet uit :( De meeste tips gaan over datumvergelijk o.b.v. datum vandaag en/of database gegevens.
Ben al wel bij strtotime uitgekomen, welke de datum om zou moeten zetten naar Unix timestamp. Dat lukt en het verschil tussen beide velden kan daarmee uitgerekend worden (toch?).
Als ik dat echo krijg ik echter geen verschil (leesbaar/begrijpbaar) in dagen terug. Zal die Unix-timestamp weer moeten omzetten. Heb gekeken naar mktime, maar dan krijg ik (nog steeds) een groot getal (bv. 1949783753).
levert op bij 2012-01-30 en 2012-01-28:
172800
time 1949783927
Volgens mij moet dat 2 (dagen) zijn.
Nu kan ik wel gaan rekenen met 60*60*24 (seconden, minuten, uren) per dag, maar is dat de nette oplossing?
Nu wil ik het verschil tussen deze twee datums berekenen. Ondanks een zoektocht op Google kom ik er niet uit :( De meeste tips gaan over datumvergelijk o.b.v. datum vandaag en/of database gegevens.
Ben al wel bij strtotime uitgekomen, welke de datum om zou moeten zetten naar Unix timestamp. Dat lukt en het verschil tussen beide velden kan daarmee uitgerekend worden (toch?).
Als ik dat echo krijg ik echter geen verschil (leesbaar/begrijpbaar) in dagen terug. Zal die Unix-timestamp weer moeten omzetten. Heb gekeken naar mktime, maar dan krijg ik (nog steeds) een groot getal (bv. 1949783753).
Code (php)
1
2
3
4
5
2
3
4
5
$test1 = strtotime($_POST['date1']) . '<br> ';
$test2 = strtotime($_POST['date2']) . '<br> ';
$test3 = $test2 - $test1;
echo $test3 . '<br> ';
echo 'time '. mktime($test3) . '<br> ';
$test2 = strtotime($_POST['date2']) . '<br> ';
$test3 = $test2 - $test1;
echo $test3 . '<br> ';
echo 'time '. mktime($test3) . '<br> ';
levert op bij 2012-01-30 en 2012-01-28:
172800
time 1949783927
Volgens mij moet dat 2 (dagen) zijn.
Nu kan ik wel gaan rekenen met 60*60*24 (seconden, minuten, uren) per dag, maar is dat de nette oplossing?
Gesponsorde koppelingen:
Het verschil, dat je nu als antwoord hebt, dat zijn seconden. Dus dat moet je nog omzetten naar dagen (of uren, minuten)



