strtotime() probleem 2 Verschil in dagen tussen twee datums
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$start_datetime = '01-09-2010 00:00:00'; // Start date/time when the poll must start (format dd-mm-yyyy hh:mm:ss)
$end_datetime = '30-11-2010 23:59:59'; // End date/time when the poll must stop (format dd-mm-yyyy hh:mm:ss)
echo $start_datetime;
echo "<br>";
echo $end_datetime;
echo "<br>";
$start = explode(" ",$start_datetime);
$end = explode(" ",$end_datetime);
echo $start[0], $end[0] ;
echo "<br>";
$days = (strtotime($end[0]) - strtotime($start[0])) / (60 * 60 * 24);
echo ceil($days);
?>
$start_datetime = '01-09-2010 00:00:00'; // Start date/time when the poll must start (format dd-mm-yyyy hh:mm:ss)
$end_datetime = '30-11-2010 23:59:59'; // End date/time when the poll must stop (format dd-mm-yyyy hh:mm:ss)
echo $start_datetime;
echo "<br>";
echo $end_datetime;
echo "<br>";
$start = explode(" ",$start_datetime);
$end = explode(" ",$end_datetime);
echo $start[0], $end[0] ;
echo "<br>";
$days = (strtotime($end[0]) - strtotime($start[0])) / (60 * 60 * 24);
echo ceil($days);
?>
Als ik date_default_timezone_set('CET'); aan het begin van het script zet krijg een foutmelding.
Fatal error: Call to undefined function: date_default_timezone_set() in /mnt/web2/10/31/51359131/htdocs/develop/poll/polljw2011.php on line 16
Of ligt dat soms aan de php versie 4.4.9 op de server. Ik begin het probleem te begrijpen. Op mijn laptop 5.3.2. In neem aan dat het dus aan de php versie ligt, maar hoe los ik dit nu op?
Yanick de Jong op 22/10/2010 18:14:12:
Of ligt dat soms aan de php versie 4.4.9 op de server. Ik begin het probleem te begrijpen. Op mijn laptop 5.3.2. In neem aan dat het dus aan de php versie ligt, maar hoe los ik dit nu op?
PHP Updaten.
Ja, alleen die oplossing is niet mogelijk aangezien het bij hostingprovider draait. Kan natuurlijk wel eeens een verzoek er voor indienen. Maar hoe zou ik het progammeertechnisch op kunnen lossen. Ik ben ook al tevreden als het alleen op de server werkt.
Toevoeging op 22/10/2010 19:15:42:
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
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$start_datetime = '01-09-2010 00:00:00'; // Start date/time when the poll must start (format dd-mm-yyyy hh:mm:ss)
$end_datetime = '30-11-2010 23:59:59'; // End date/time when the poll must stop (format dd-mm-yyyy hh:mm:ss)
echo $start_datetime;
echo "<br>";
echo $end_datetime;
echo "<br>";
$start = explode(" ",$start_datetime);
$start_date = explode("-",$start[0]);
$start_time = explode(":",$start[1]);
$end = explode(" ",$end_datetime);
$end_date = explode("-",$end[0]);
$end_time = explode(":",$end[1]);
$start_totaltime = mktime($start_time[0], $start_time[1], $start_time[2], $start_date[1], $start_date[0], $start_date[2]);
$end_totaltime = mktime($end_time[0], $end_time[1], $end_time[2], $end_date[1], $end_date[0], $end_date[2]);
echo "<br>";
$difference = $end_totaltime - $start_totaltime;
$days = floor($difference / (60 * 60 * 24));
$difference = $difference - ($days * 60 * 60 * 24);
$hours = floor($difference / (60 * 60));
$difference = $difference - ($hours * 60 * 60);
$minutes = floor($difference / (60));
$difference = $difference - ($minutes * 60);
$seconds = $difference;
echo $days . ' dagen, ' . $hours . ' uren, ' . $minutes . ' minuten en ' . $seconds . ' seconden.';
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$start_datetime = '01-09-2010 00:00:00'; // Start date/time when the poll must start (format dd-mm-yyyy hh:mm:ss)
$end_datetime = '30-11-2010 23:59:59'; // End date/time when the poll must stop (format dd-mm-yyyy hh:mm:ss)
echo $start_datetime;
echo "<br>";
echo $end_datetime;
echo "<br>";
$start = explode(" ",$start_datetime);
$start_date = explode("-",$start[0]);
$start_time = explode(":",$start[1]);
$end = explode(" ",$end_datetime);
$end_date = explode("-",$end[0]);
$end_time = explode(":",$end[1]);
$start_totaltime = mktime($start_time[0], $start_time[1], $start_time[2], $start_date[1], $start_date[0], $start_date[2]);
$end_totaltime = mktime($end_time[0], $end_time[1], $end_time[2], $end_date[1], $end_date[0], $end_date[2]);
echo "<br>";
$difference = $end_totaltime - $start_totaltime;
$days = floor($difference / (60 * 60 * 24));
$difference = $difference - ($days * 60 * 60 * 24);
$hours = floor($difference / (60 * 60));
$difference = $difference - ($hours * 60 * 60);
$minutes = floor($difference / (60));
$difference = $difference - ($minutes * 60);
$seconds = $difference;
echo $days . ' dagen, ' . $hours . ' uren, ' . $minutes . ' minuten en ' . $seconds . ' seconden.';
?>
Ja, alleen van de twee strings uitgaand ja of hoe had je anders gedacht, geef maar een voorbeeld hoe jij denkt dat het moet of beter kan. Alle opties zijn welkom als het maar het aantal dagen verschil tussen twee datums laat zien en dus werkt in php 4.4.9 en eventueel ook in 5.3.2
Maar zie mijn aanvulling.
Spelen met de volgende value date_default_timezone_set('UTC'); doet in mij geval niks.