Ich arbeite grad an einer Kalender Applikation, geschrieben in python:
aber komischer weise dauert der 27.03.2011 nur 23 Stunden?!
Code
import time
def main():
date_array = [['2011-03-26','2011-03-27'],['2011-03-27','2011-03-28'],['2011-03-28', '2011-03-29'],['2011-03-20', '2011-03-30']]
for start_end in date_array:
start = start_end[0]
end = start_end[1]
dur = int((_mktime(end) - _mktime(start))/3600)
print "Von %s bis %s sind es %s Stunden"% (start,end,dur)
def _mktime(time_string):
ts = -1
ts = time.strptime(time_string,"%Y-%m-%d")
return time.mktime(ts)
if __name__ == "__main__":
main()
Alles anzeigen
ergibt:
Code
fd@flocki:~/Desktop$ python checkdate.py
Von 2011-03-26 bis 2011-03-27 sind es 24 Stunden
Von 2011-03-27 bis 2011-03-28 sind es 23 Stunden
Von 2011-03-28 bis 2011-03-29 sind es 24 Stunden
Von 2011-03-20 bis 2011-03-30 sind es 239 Stunden
und das ganze in php:
PHP
<?php
$date_array = array(array("2011-03-26","2011-03-27"),array("2011-03-27","2011-03-28"),array('2011-03-28', '2011-03-29'),array('2011-03-20', '2011-03-30'));
foreach ($date_array as $start_end) {
$start = $start_end[0];
$end = $start_end[1];
$dur = (_mktime($end) - _mktime($start))/3600;
printf("Von %s bis %s sind es %s Stunden",$start,$end,$dur);
print "\n";
}
function _mktime($time_string) {
$ts = -1;
$ts = strptime($time_string,"%Y-%m-%d");
return mktime($ts['tm_hour'],$ts['tm_min'],$ts['tm_sec'],$ts['tm_mon'],$ts['tm_mday'],$ts['tm_year']+1900);
}
?>
Alles anzeigen
ergibt:
Code
fd@flocki:~/Desktop$ php checkdate.php
Von 2011-03-26 bis 2011-03-27 sind es 24 Stunden
Von 2011-03-27 bis 2011-03-28 sind es 24 Stunden
Von 2011-03-28 bis 2011-03-29 sind es 24 Stunden
Von 2011-03-20 bis 2011-03-30 sind es 240 Stunden
hat von euch ev. jemand eine plausible Erklärung?