1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

[Python] BUG?: Datum/Timestamp vom 27.03.2008

    • Frage
  • bimbo
  • 27. März 2008 um 12:50
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • bimbo
    Punkte
    2.320
    Beiträge
    390
    • 27. März 2008 um 12:50
    • #1

    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?

  • Paulchen
    Gast
    • 27. März 2008 um 13:33
    • #2
    Zitat von bimbo

    aber komischer weise dauert der 27.03.2011 nur 23 Stunden?!

    Umstellung Winterzeit -> Sommerzeit.

  • bimbo
    Punkte
    2.320
    Beiträge
    390
    • 27. März 2008 um 19:02
    • #3

    gotteswillen bin ich blöd! da könnte man auch selber draufkommen.

    danke paulchen

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum