time() countdown 24 uur
Ik hoop dat jullie me op weg kunnen helpen.
http://www.google.nl/#hl=nl&q=ajax+countdown+timer&meta=&aq=&oq=&fp=6f42e82746fa4cb5
-> http://www.google.nl/#hl=nl&q=javascript+countdown+timer&meta=&aq=&oq=&fp=6f42e82746fa4cb5
Google is your friend ^_^
-> -> http://www.google.nl/#hl=nl&q=javascript+countdown+timer&meta=&aq=&oq=&fp=6f42e82746fa4cb5
Google is your friend ^_^
Hoi Mr Ark, ik wil het server-side doen, dan weet ik i.i.g. zeker dat de tijd altijd klopt. Vandaar dat ik een php oplossing zoek en niet een javascript en/of Ajax script..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$verschil = nog_te_gaan('18:00:00');
echo $verschil;
function nog_te_gaan($tijd, $m_nu=null)
{
$m_nu = (empty($m_nu)?makeDatetimeObject('now'):$m_nu);
list($H, $i, $s) = explode(':', $tijd);
if ($m_nu->format('H') >= $H) // indien je iets anders gebruikt dan "18:00:00", ook met minuten en/of seconden die niet 0 zijn, zou je daar ook op moeten controleren
{
$bestemming = mktime($H, $i, $s, $m_nu->format('m'), $m_nu->format('d')+1, $m_nu->format('Y'));
}
else
{
$bestemming = mktime($H, $i, $s, $m_nu->format('m'), $m_nu->format('d'), $m_nu->format('Y'));
}
$verschil = $bestemming - strtotime($m_nu->format('Y-m-d H:i:s'));
$s = $verschil % 60;
$i = ( ($verschil-$s) / 60 ) % 60 ;
$H = ( ($verschil-$s-60*$i) / 3600 );
return sprintf('%02d:%02d:%02d', $H, $i, $s); // eventueel return je het onder een ander formaat
}
function makeDatetimeObject($datum_string)
{
try
{
return new DateTime($datum_string, new DateTimeZone('Europe/Berlin'));
}
catch (Exception $e)
{
return new DateTime("now", new DateTimeZone('Europe/Berlin'));
}
}
?>
$verschil = nog_te_gaan('18:00:00');
echo $verschil;
function nog_te_gaan($tijd, $m_nu=null)
{
$m_nu = (empty($m_nu)?makeDatetimeObject('now'):$m_nu);
list($H, $i, $s) = explode(':', $tijd);
if ($m_nu->format('H') >= $H) // indien je iets anders gebruikt dan "18:00:00", ook met minuten en/of seconden die niet 0 zijn, zou je daar ook op moeten controleren
{
$bestemming = mktime($H, $i, $s, $m_nu->format('m'), $m_nu->format('d')+1, $m_nu->format('Y'));
}
else
{
$bestemming = mktime($H, $i, $s, $m_nu->format('m'), $m_nu->format('d'), $m_nu->format('Y'));
}
$verschil = $bestemming - strtotime($m_nu->format('Y-m-d H:i:s'));
$s = $verschil % 60;
$i = ( ($verschil-$s) / 60 ) % 60 ;
$H = ( ($verschil-$s-60*$i) / 3600 );
return sprintf('%02d:%02d:%02d', $H, $i, $s); // eventueel return je het onder een ander formaat
}
function makeDatetimeObject($datum_string)
{
try
{
return new DateTime($datum_string, new DateTimeZone('Europe/Berlin'));
}
catch (Exception $e)
{
return new DateTime("now", new DateTimeZone('Europe/Berlin'));
}
}
?>
(kan waarschijnlijk efficiënter, maar het werkt, volgens mij)
Edit: functienaam aangepast, die van SanThe klonk beter dan de mijne
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
Super daar kan ik wat mee, bedankt...
Op dagen waarop het uur aangepast wordt, zal het misschien een foute waarde geven.