Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 21. Nov 2018 15:02

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: mktime gibt komisches datum zurück
BeitragVerfasst: 29. Okt 2011 22:08 
Offline

Registriert: 14. Mai 2007 19:27
Beiträge: 70
Hallo community!

Ich habe da ein ganz komisches Problem!

habe folgenden code probiert
Code:
		time_t acttime;
		struct tm* ttime;

		time(&acttime);
		cout << asctime&#40;localtime&#40;&acttime&#41;&#41;;
		ttime= localtime&#40;&acttime&#41;;
		ttime->tm_sec= 0;
		ttime->tm_min= 0;
		ttime->tm_hour= 0;
		ttime->tm_mday+= 2;
		acttime= mktime&#40;ttime&#41;;
		cout << asctime&#40;localtime&#40;&acttime&#41;&#41; << endl;
meine Ausgabe ist nun
  • Sat Oct 29 23:00:59 2011
    Sun Oct 30 23:00:00 2011
wieso hat er mir da jetzt eine Stunde zuwenig berechnet?
wenn ich nur einen Tag aufrechne funktionierts

*edit*
das hängt jetzt aber nicht davon ab dass die Ausgangszeit auch 23:00 Uhr war
hatte dieses Phänomen auch zuvor um 9:00

*edit2*
heute Vormittag habe ich es nochmoals probiert
und die Ausgabe war richtig
  • Sun Oct 30 10:43:22 2011
    Tue Nov 1 00:00:00 2011
ich muss dass jetzt auf längere Zeit beobachten
irgendwas ist da konfus
******************
Linux ist ja open source
was muss ich installieren damit ich diese Funktion mktime debuggen kann?
habe ein Kubuntu 10.04
sind diese time.c sourcen nicht in der glibc library?
oder muss ich einen ganzen Kernel mit sourcen installieren?
******************

kann mir da jemand helfen!?
Bitte, Danke
8) pcAlko


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Okt 2011 11:28 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Du hast das Feld ttime->tm_isdst nicht auf einen negativen Wert gesetzt. Das müsstest du aber, wenn er bei mktime() automatisch die Sommerzeit der Locale beachten soll. Ein fester Wert von 0 legt ewige Winterzeit fest, ein positiver Wert ewige Sommerzeit. Vemutlich steht da also zufällig Null drin, weswegen es jetzt (in Winterzeit) korrekt funktioniert.

$ man mktime

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 30. Okt 2011 16:16 
Offline

Registriert: 14. Mai 2007 19:27
Beiträge: 70
na super *ironie*
das ärgert mich jetzt schon so lange dass ich es inzwischen schon mal aufgegeben hatte
und jetzt wieder in angriff genommen habe.

für tm_isdst steht ja in der Doku dass das die "daylight saving time" ist.
ich hatte das immer mit Tageslicht übersetzt
und dachte mir dass ich damit auf das 12 Stunden Format umschalten kann :oops:

Danke Janka
wenn wir Dich nicht hätten ...
8) pcAlko


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 31. Okt 2011 9:54 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Ich guck auch nur in die Doku. Related: http://ars.userfriendly.org/cartoons/?id=19990216

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de