Die Zeitfunktionen und die Sommerzeit (DST)
-
Hallo,
ich habe Probleme mit den time-Funktionen, die C anbietet, bezüglich der Sommerzeit bzw. der Zeitumstellung ansich.
Ich befülle ein struct tm mit Datumsangaben. Damit mktime aus der Ortszeit inklusive Sommer-/Winterzeit den korrekten Zeitstempel bestimmt, setze ich tm_isdst auf -1. Allerdings ist die Implentierung von C wohl der Meinung, dass die Zeit in diesem Jahr am 3. April umgestellt würde, was jedoch nicht der Fall ist. Die Zeitumstellung findet hierzulande bereits eine Woche zuvor am 27. März statt.
Der Zeitumstellungstermin, dessen sich C bedient, ist derjenige, der in Mexiko und den US-amerikanischer Nachbarstaaten praktiziert wird.
Kennt jemand ähnliche Probleme und hat jemand eine Idee, wie man das Problem umgehen könnte? Das System ist bereits auf die mitteleuropäische Zeit eingestellt, damit einher müsste ja auch der entsprechende Umstellungstermin für die DST gehen.
Gruß
-
Du solltest mal mit
setlocale(LC_ALL,"");
die current locale deines Programmes auf die aktuelle Umgebung einstellen und dann darauf hoffen, dass deine aktuelle C-Runtime das auswertet und was anderes ausrechnet als für die Standard-Locale "C", die immer US-amerikanische Defaults benutzt.
-
Oder, falls die Default-Locale deines Systems "C" sein sollte (was durchaus nicht ungewöhnlich wäre), kannst du auch gezielt eine gewünschte Locale angeben. Das funktioniert leider nur, wenn dein System über eine Locale mit exakt diesem Namen verfügt. Typische Localenamen für "Deutsch" könnten so etwas wie "de_DE", "de-DE" oder auch einfach "German" oder "German_Germany" sein, gerne auch noch mit einer Zeichencodierung am Ende a la "de_DE.uft8".
-
Ich stelle gerade fest, dass setlocale wohl keine Auswirkungen auf struct tm.tm_isdst hat, denn unter (deutschem) Windows wird nur die deutsche Sommerzeit berechnet und nicht die in den USA (13.3.2016):
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> struct tm makeDate(int day, int month, int year) { struct tm ttm = { 0 }; ttm.tm_mday = day; ttm.tm_mon = month - 1; ttm.tm_year = year - 1900; return ttm; } int main() { struct tm date, startDate = makeDate(1, 1, 2016), endDate = makeDate(31, 12, 2016); time_t end = mktime(&endDate); printf("%s\n",setlocale(LC_ALL,"DEU")); /* "USA" */ for (date = startDate; end >= mktime(&date); ++date.tm_mday) { printf("%d %s",date.tm_isdst,asctime(&date)); } return 0; }
German_Germany.1252 0 Fri Jan 01 00:00:00 2016 0 Sat Jan 02 00:00:00 2016 0 Sun Jan 03 00:00:00 2016 0 Mon Jan 04 00:00:00 2016 0 Tue Jan 05 00:00:00 2016 0 Wed Jan 06 00:00:00 2016 0 Thu Jan 07 00:00:00 2016 0 Fri Jan 08 00:00:00 2016 0 Sat Jan 09 00:00:00 2016 0 Sun Jan 10 00:00:00 2016 0 Mon Jan 11 00:00:00 2016 0 Tue Jan 12 00:00:00 2016 0 Wed Jan 13 00:00:00 2016 0 Thu Jan 14 00:00:00 2016 0 Fri Jan 15 00:00:00 2016 0 Sat Jan 16 00:00:00 2016 0 Sun Jan 17 00:00:00 2016 0 Mon Jan 18 00:00:00 2016 0 Tue Jan 19 00:00:00 2016 0 Wed Jan 20 00:00:00 2016 0 Thu Jan 21 00:00:00 2016 0 Fri Jan 22 00:00:00 2016 0 Sat Jan 23 00:00:00 2016 0 Sun Jan 24 00:00:00 2016 0 Mon Jan 25 00:00:00 2016 0 Tue Jan 26 00:00:00 2016 0 Wed Jan 27 00:00:00 2016 0 Thu Jan 28 00:00:00 2016 0 Fri Jan 29 00:00:00 2016 0 Sat Jan 30 00:00:00 2016 0 Sun Jan 31 00:00:00 2016 0 Mon Feb 01 00:00:00 2016 0 Tue Feb 02 00:00:00 2016 0 Wed Feb 03 00:00:00 2016 0 Thu Feb 04 00:00:00 2016 0 Fri Feb 05 00:00:00 2016 0 Sat Feb 06 00:00:00 2016 0 Sun Feb 07 00:00:00 2016 0 Mon Feb 08 00:00:00 2016 0 Tue Feb 09 00:00:00 2016 0 Wed Feb 10 00:00:00 2016 0 Thu Feb 11 00:00:00 2016 0 Fri Feb 12 00:00:00 2016 0 Sat Feb 13 00:00:00 2016 0 Sun Feb 14 00:00:00 2016 0 Mon Feb 15 00:00:00 2016 0 Tue Feb 16 00:00:00 2016 0 Wed Feb 17 00:00:00 2016 0 Thu Feb 18 00:00:00 2016 0 Fri Feb 19 00:00:00 2016 0 Sat Feb 20 00:00:00 2016 0 Sun Feb 21 00:00:00 2016 0 Mon Feb 22 00:00:00 2016 0 Tue Feb 23 00:00:00 2016 0 Wed Feb 24 00:00:00 2016 0 Thu Feb 25 00:00:00 2016 0 Fri Feb 26 00:00:00 2016 0 Sat Feb 27 00:00:00 2016 0 Sun Feb 28 00:00:00 2016 0 Mon Feb 29 00:00:00 2016 0 Tue Mar 01 00:00:00 2016 0 Wed Mar 02 00:00:00 2016 0 Thu Mar 03 00:00:00 2016 0 Fri Mar 04 00:00:00 2016 0 Sat Mar 05 00:00:00 2016 0 Sun Mar 06 00:00:00 2016 0 Mon Mar 07 00:00:00 2016 0 Tue Mar 08 00:00:00 2016 0 Wed Mar 09 00:00:00 2016 0 Thu Mar 10 00:00:00 2016 0 Fri Mar 11 00:00:00 2016 0 Sat Mar 12 00:00:00 2016 0 Sun Mar 13 00:00:00 2016 0 Mon Mar 14 00:00:00 2016 0 Tue Mar 15 00:00:00 2016 0 Wed Mar 16 00:00:00 2016 0 Thu Mar 17 00:00:00 2016 0 Fri Mar 18 00:00:00 2016 0 Sat Mar 19 00:00:00 2016 0 Sun Mar 20 00:00:00 2016 0 Mon Mar 21 00:00:00 2016 0 Tue Mar 22 00:00:00 2016 0 Wed Mar 23 00:00:00 2016 0 Thu Mar 24 00:00:00 2016 0 Fri Mar 25 00:00:00 2016 0 Sat Mar 26 00:00:00 2016 0 Sun Mar 27 00:00:00 2016 1 Mon Mar 28 01:00:00 2016 1 Tue Mar 29 01:00:00 2016 1 Wed Mar 30 01:00:00 2016 1 Thu Mar 31 01:00:00 2016 1 Fri Apr 01 01:00:00 2016 1 Sat Apr 02 01:00:00 2016 1 Sun Apr 03 01:00:00 2016 1 Mon Apr 04 01:00:00 2016 1 Tue Apr 05 01:00:00 2016 1 Wed Apr 06 01:00:00 2016 1 Thu Apr 07 01:00:00 2016 1 Fri Apr 08 01:00:00 2016 1 Sat Apr 09 01:00:00 2016 1 Sun Apr 10 01:00:00 2016 1 Mon Apr 11 01:00:00 2016 1 Tue Apr 12 01:00:00 2016 1 Wed Apr 13 01:00:00 2016 1 Thu Apr 14 01:00:00 2016 1 Fri Apr 15 01:00:00 2016 1 Sat Apr 16 01:00:00 2016 1 Sun Apr 17 01:00:00 2016 1 Mon Apr 18 01:00:00 2016 1 Tue Apr 19 01:00:00 2016 1 Wed Apr 20 01:00:00 2016 1 Thu Apr 21 01:00:00 2016 1 Fri Apr 22 01:00:00 2016 1 Sat Apr 23 01:00:00 2016 1 Sun Apr 24 01:00:00 2016 1 Mon Apr 25 01:00:00 2016 1 Tue Apr 26 01:00:00 2016 1 Wed Apr 27 01:00:00 2016 1 Thu Apr 28 01:00:00 2016 1 Fri Apr 29 01:00:00 2016 1 Sat Apr 30 01:00:00 2016 1 Sun May 01 01:00:00 2016 1 Mon May 02 01:00:00 2016 1 Tue May 03 01:00:00 2016 1 Wed May 04 01:00:00 2016 1 Thu May 05 01:00:00 2016 1 Fri May 06 01:00:00 2016 1 Sat May 07 01:00:00 2016 1 Sun May 08 01:00:00 2016 1 Mon May 09 01:00:00 2016 1 Tue May 10 01:00:00 2016 1 Wed May 11 01:00:00 2016 1 Thu May 12 01:00:00 2016 1 Fri May 13 01:00:00 2016 1 Sat May 14 01:00:00 2016 1 Sun May 15 01:00:00 2016 1 Mon May 16 01:00:00 2016 1 Tue May 17 01:00:00 2016 1 Wed May 18 01:00:00 2016 1 Thu May 19 01:00:00 2016 1 Fri May 20 01:00:00 2016 1 Sat May 21 01:00:00 2016 1 Sun May 22 01:00:00 2016 1 Mon May 23 01:00:00 2016 1 Tue May 24 01:00:00 2016 1 Wed May 25 01:00:00 2016 1 Thu May 26 01:00:00 2016 1 Fri May 27 01:00:00 2016 1 Sat May 28 01:00:00 2016 1 Sun May 29 01:00:00 2016 1 Mon May 30 01:00:00 2016 1 Tue May 31 01:00:00 2016 1 Wed Jun 01 01:00:00 2016 1 Thu Jun 02 01:00:00 2016 1 Fri Jun 03 01:00:00 2016 1 Sat Jun 04 01:00:00 2016 1 Sun Jun 05 01:00:00 2016 1 Mon Jun 06 01:00:00 2016 1 Tue Jun 07 01:00:00 2016 1 Wed Jun 08 01:00:00 2016 1 Thu Jun 09 01:00:00 2016 1 Fri Jun 10 01:00:00 2016 1 Sat Jun 11 01:00:00 2016 1 Sun Jun 12 01:00:00 2016 1 Mon Jun 13 01:00:00 2016 1 Tue Jun 14 01:00:00 2016 1 Wed Jun 15 01:00:00 2016 1 Thu Jun 16 01:00:00 2016 1 Fri Jun 17 01:00:00 2016 1 Sat Jun 18 01:00:00 2016 1 Sun Jun 19 01:00:00 2016 1 Mon Jun 20 01:00:00 2016 1 Tue Jun 21 01:00:00 2016 1 Wed Jun 22 01:00:00 2016 1 Thu Jun 23 01:00:00 2016 1 Fri Jun 24 01:00:00 2016 1 Sat Jun 25 01:00:00 2016 1 Sun Jun 26 01:00:00 2016 1 Mon Jun 27 01:00:00 2016 1 Tue Jun 28 01:00:00 2016 1 Wed Jun 29 01:00:00 2016 1 Thu Jun 30 01:00:00 2016 1 Fri Jul 01 01:00:00 2016 1 Sat Jul 02 01:00:00 2016 1 Sun Jul 03 01:00:00 2016 1 Mon Jul 04 01:00:00 2016 1 Tue Jul 05 01:00:00 2016 1 Wed Jul 06 01:00:00 2016 1 Thu Jul 07 01:00:00 2016 1 Fri Jul 08 01:00:00 2016 1 Sat Jul 09 01:00:00 2016 1 Sun Jul 10 01:00:00 2016 1 Mon Jul 11 01:00:00 2016 1 Tue Jul 12 01:00:00 2016 1 Wed Jul 13 01:00:00 2016 1 Thu Jul 14 01:00:00 2016 1 Fri Jul 15 01:00:00 2016 1 Sat Jul 16 01:00:00 2016 1 Sun Jul 17 01:00:00 2016 1 Mon Jul 18 01:00:00 2016 1 Tue Jul 19 01:00:00 2016 1 Wed Jul 20 01:00:00 2016 1 Thu Jul 21 01:00:00 2016 1 Fri Jul 22 01:00:00 2016 1 Sat Jul 23 01:00:00 2016 1 Sun Jul 24 01:00:00 2016 1 Mon Jul 25 01:00:00 2016 1 Tue Jul 26 01:00:00 2016 1 Wed Jul 27 01:00:00 2016 1 Thu Jul 28 01:00:00 2016 1 Fri Jul 29 01:00:00 2016 1 Sat Jul 30 01:00:00 2016 1 Sun Jul 31 01:00:00 2016 1 Mon Aug 01 01:00:00 2016 1 Tue Aug 02 01:00:00 2016 1 Wed Aug 03 01:00:00 2016 1 Thu Aug 04 01:00:00 2016 1 Fri Aug 05 01:00:00 2016 1 Sat Aug 06 01:00:00 2016 1 Sun Aug 07 01:00:00 2016 1 Mon Aug 08 01:00:00 2016 1 Tue Aug 09 01:00:00 2016 1 Wed Aug 10 01:00:00 2016 1 Thu Aug 11 01:00:00 2016 1 Fri Aug 12 01:00:00 2016 1 Sat Aug 13 01:00:00 2016 1 Sun Aug 14 01:00:00 2016 1 Mon Aug 15 01:00:00 2016 1 Tue Aug 16 01:00:00 2016 1 Wed Aug 17 01:00:00 2016 1 Thu Aug 18 01:00:00 2016 1 Fri Aug 19 01:00:00 2016 1 Sat Aug 20 01:00:00 2016 1 Sun Aug 21 01:00:00 2016 1 Mon Aug 22 01:00:00 2016 1 Tue Aug 23 01:00:00 2016 1 Wed Aug 24 01:00:00 2016 1 Thu Aug 25 01:00:00 2016 1 Fri Aug 26 01:00:00 2016 1 Sat Aug 27 01:00:00 2016 1 Sun Aug 28 01:00:00 2016 1 Mon Aug 29 01:00:00 2016 1 Tue Aug 30 01:00:00 2016 1 Wed Aug 31 01:00:00 2016 1 Thu Sep 01 01:00:00 2016 1 Fri Sep 02 01:00:00 2016 1 Sat Sep 03 01:00:00 2016 1 Sun Sep 04 01:00:00 2016 1 Mon Sep 05 01:00:00 2016 1 Tue Sep 06 01:00:00 2016 1 Wed Sep 07 01:00:00 2016 1 Thu Sep 08 01:00:00 2016 1 Fri Sep 09 01:00:00 2016 1 Sat Sep 10 01:00:00 2016 1 Sun Sep 11 01:00:00 2016 1 Mon Sep 12 01:00:00 2016 1 Tue Sep 13 01:00:00 2016 1 Wed Sep 14 01:00:00 2016 1 Thu Sep 15 01:00:00 2016 1 Fri Sep 16 01:00:00 2016 1 Sat Sep 17 01:00:00 2016 1 Sun Sep 18 01:00:00 2016 1 Mon Sep 19 01:00:00 2016 1 Tue Sep 20 01:00:00 2016 1 Wed Sep 21 01:00:00 2016 1 Thu Sep 22 01:00:00 2016 1 Fri Sep 23 01:00:00 2016 1 Sat Sep 24 01:00:00 2016 1 Sun Sep 25 01:00:00 2016 1 Mon Sep 26 01:00:00 2016 1 Tue Sep 27 01:00:00 2016 1 Wed Sep 28 01:00:00 2016 1 Thu Sep 29 01:00:00 2016 1 Fri Sep 30 01:00:00 2016 1 Sat Oct 01 01:00:00 2016 1 Sun Oct 02 01:00:00 2016 1 Mon Oct 03 01:00:00 2016 1 Tue Oct 04 01:00:00 2016 1 Wed Oct 05 01:00:00 2016 1 Thu Oct 06 01:00:00 2016 1 Fri Oct 07 01:00:00 2016 1 Sat Oct 08 01:00:00 2016 1 Sun Oct 09 01:00:00 2016 1 Mon Oct 10 01:00:00 2016 1 Tue Oct 11 01:00:00 2016 1 Wed Oct 12 01:00:00 2016 1 Thu Oct 13 01:00:00 2016 1 Fri Oct 14 01:00:00 2016 1 Sat Oct 15 01:00:00 2016 1 Sun Oct 16 01:00:00 2016 1 Mon Oct 17 01:00:00 2016 1 Tue Oct 18 01:00:00 2016 1 Wed Oct 19 01:00:00 2016 1 Thu Oct 20 01:00:00 2016 1 Fri Oct 21 01:00:00 2016 1 Sat Oct 22 01:00:00 2016 1 Sun Oct 23 01:00:00 2016 1 Mon Oct 24 01:00:00 2016 1 Tue Oct 25 01:00:00 2016 1 Wed Oct 26 01:00:00 2016 1 Thu Oct 27 01:00:00 2016 1 Fri Oct 28 01:00:00 2016 1 Sat Oct 29 01:00:00 2016 1 Sun Oct 30 01:00:00 2016 0 Mon Oct 31 00:00:00 2016 0 Tue Nov 01 00:00:00 2016 0 Wed Nov 02 00:00:00 2016 0 Thu Nov 03 00:00:00 2016 0 Fri Nov 04 00:00:00 2016 0 Sat Nov 05 00:00:00 2016 0 Sun Nov 06 00:00:00 2016 0 Mon Nov 07 00:00:00 2016 0 Tue Nov 08 00:00:00 2016 0 Wed Nov 09 00:00:00 2016 0 Thu Nov 10 00:00:00 2016 0 Fri Nov 11 00:00:00 2016 0 Sat Nov 12 00:00:00 2016 0 Sun Nov 13 00:00:00 2016 0 Mon Nov 14 00:00:00 2016 0 Tue Nov 15 00:00:00 2016 0 Wed Nov 16 00:00:00 2016 0 Thu Nov 17 00:00:00 2016 0 Fri Nov 18 00:00:00 2016 0 Sat Nov 19 00:00:00 2016 0 Sun Nov 20 00:00:00 2016 0 Mon Nov 21 00:00:00 2016 0 Tue Nov 22 00:00:00 2016 0 Wed Nov 23 00:00:00 2016 0 Thu Nov 24 00:00:00 2016 0 Fri Nov 25 00:00:00 2016 0 Sat Nov 26 00:00:00 2016 0 Sun Nov 27 00:00:00 2016 0 Mon Nov 28 00:00:00 2016 0 Tue Nov 29 00:00:00 2016 0 Wed Nov 30 00:00:00 2016 0 Thu Dec 01 00:00:00 2016 0 Fri Dec 02 00:00:00 2016 0 Sat Dec 03 00:00:00 2016 0 Sun Dec 04 00:00:00 2016 0 Mon Dec 05 00:00:00 2016 0 Tue Dec 06 00:00:00 2016 0 Wed Dec 07 00:00:00 2016 0 Thu Dec 08 00:00:00 2016 0 Fri Dec 09 00:00:00 2016 0 Sat Dec 10 00:00:00 2016 0 Sun Dec 11 00:00:00 2016 0 Mon Dec 12 00:00:00 2016 0 Tue Dec 13 00:00:00 2016 0 Wed Dec 14 00:00:00 2016 0 Thu Dec 15 00:00:00 2016 0 Fri Dec 16 00:00:00 2016 0 Sat Dec 17 00:00:00 2016 0 Sun Dec 18 00:00:00 2016 0 Mon Dec 19 00:00:00 2016 0 Tue Dec 20 00:00:00 2016 0 Wed Dec 21 00:00:00 2016 0 Thu Dec 22 00:00:00 2016 0 Fri Dec 23 00:00:00 2016 0 Sat Dec 24 00:00:00 2016 0 Sun Dec 25 00:00:00 2016 0 Mon Dec 26 00:00:00 2016 0 Tue Dec 27 00:00:00 2016 0 Wed Dec 28 00:00:00 2016 0 Thu Dec 29 00:00:00 2016 0 Fri Dec 30 00:00:00 2016 0 Sat Dec 31 00:00:00 2016
##############################################################
English_United States.1252 0 Fri Jan 01 00:00:00 2016 0 Sat Jan 02 00:00:00 2016 0 Sun Jan 03 00:00:00 2016 0 Mon Jan 04 00:00:00 2016 0 Tue Jan 05 00:00:00 2016 0 Wed Jan 06 00:00:00 2016 0 Thu Jan 07 00:00:00 2016 0 Fri Jan 08 00:00:00 2016 0 Sat Jan 09 00:00:00 2016 0 Sun Jan 10 00:00:00 2016 0 Mon Jan 11 00:00:00 2016 0 Tue Jan 12 00:00:00 2016 0 Wed Jan 13 00:00:00 2016 0 Thu Jan 14 00:00:00 2016 0 Fri Jan 15 00:00:00 2016 0 Sat Jan 16 00:00:00 2016 0 Sun Jan 17 00:00:00 2016 0 Mon Jan 18 00:00:00 2016 0 Tue Jan 19 00:00:00 2016 0 Wed Jan 20 00:00:00 2016 0 Thu Jan 21 00:00:00 2016 0 Fri Jan 22 00:00:00 2016 0 Sat Jan 23 00:00:00 2016 0 Sun Jan 24 00:00:00 2016 0 Mon Jan 25 00:00:00 2016 0 Tue Jan 26 00:00:00 2016 0 Wed Jan 27 00:00:00 2016 0 Thu Jan 28 00:00:00 2016 0 Fri Jan 29 00:00:00 2016 0 Sat Jan 30 00:00:00 2016 0 Sun Jan 31 00:00:00 2016 0 Mon Feb 01 00:00:00 2016 0 Tue Feb 02 00:00:00 2016 0 Wed Feb 03 00:00:00 2016 0 Thu Feb 04 00:00:00 2016 0 Fri Feb 05 00:00:00 2016 0 Sat Feb 06 00:00:00 2016 0 Sun Feb 07 00:00:00 2016 0 Mon Feb 08 00:00:00 2016 0 Tue Feb 09 00:00:00 2016 0 Wed Feb 10 00:00:00 2016 0 Thu Feb 11 00:00:00 2016 0 Fri Feb 12 00:00:00 2016 0 Sat Feb 13 00:00:00 2016 0 Sun Feb 14 00:00:00 2016 0 Mon Feb 15 00:00:00 2016 0 Tue Feb 16 00:00:00 2016 0 Wed Feb 17 00:00:00 2016 0 Thu Feb 18 00:00:00 2016 0 Fri Feb 19 00:00:00 2016 0 Sat Feb 20 00:00:00 2016 0 Sun Feb 21 00:00:00 2016 0 Mon Feb 22 00:00:00 2016 0 Tue Feb 23 00:00:00 2016 0 Wed Feb 24 00:00:00 2016 0 Thu Feb 25 00:00:00 2016 0 Fri Feb 26 00:00:00 2016 0 Sat Feb 27 00:00:00 2016 0 Sun Feb 28 00:00:00 2016 0 Mon Feb 29 00:00:00 2016 0 Tue Mar 01 00:00:00 2016 0 Wed Mar 02 00:00:00 2016 0 Thu Mar 03 00:00:00 2016 0 Fri Mar 04 00:00:00 2016 0 Sat Mar 05 00:00:00 2016 0 Sun Mar 06 00:00:00 2016 0 Mon Mar 07 00:00:00 2016 0 Tue Mar 08 00:00:00 2016 0 Wed Mar 09 00:00:00 2016 0 Thu Mar 10 00:00:00 2016 0 Fri Mar 11 00:00:00 2016 0 Sat Mar 12 00:00:00 2016 0 Sun Mar 13 00:00:00 2016 0 Mon Mar 14 00:00:00 2016 0 Tue Mar 15 00:00:00 2016 0 Wed Mar 16 00:00:00 2016 0 Thu Mar 17 00:00:00 2016 0 Fri Mar 18 00:00:00 2016 0 Sat Mar 19 00:00:00 2016 0 Sun Mar 20 00:00:00 2016 0 Mon Mar 21 00:00:00 2016 0 Tue Mar 22 00:00:00 2016 0 Wed Mar 23 00:00:00 2016 0 Thu Mar 24 00:00:00 2016 0 Fri Mar 25 00:00:00 2016 0 Sat Mar 26 00:00:00 2016 0 Sun Mar 27 00:00:00 2016 1 Mon Mar 28 01:00:00 2016 1 Tue Mar 29 01:00:00 2016 1 Wed Mar 30 01:00:00 2016 1 Thu Mar 31 01:00:00 2016 1 Fri Apr 01 01:00:00 2016 1 Sat Apr 02 01:00:00 2016 1 Sun Apr 03 01:00:00 2016 1 Mon Apr 04 01:00:00 2016 1 Tue Apr 05 01:00:00 2016 1 Wed Apr 06 01:00:00 2016 1 Thu Apr 07 01:00:00 2016 1 Fri Apr 08 01:00:00 2016 1 Sat Apr 09 01:00:00 2016 1 Sun Apr 10 01:00:00 2016 1 Mon Apr 11 01:00:00 2016 1 Tue Apr 12 01:00:00 2016 1 Wed Apr 13 01:00:00 2016 1 Thu Apr 14 01:00:00 2016 1 Fri Apr 15 01:00:00 2016 1 Sat Apr 16 01:00:00 2016 1 Sun Apr 17 01:00:00 2016 1 Mon Apr 18 01:00:00 2016 1 Tue Apr 19 01:00:00 2016 1 Wed Apr 20 01:00:00 2016 1 Thu Apr 21 01:00:00 2016 1 Fri Apr 22 01:00:00 2016 1 Sat Apr 23 01:00:00 2016 1 Sun Apr 24 01:00:00 2016 1 Mon Apr 25 01:00:00 2016 1 Tue Apr 26 01:00:00 2016 1 Wed Apr 27 01:00:00 2016 1 Thu Apr 28 01:00:00 2016 1 Fri Apr 29 01:00:00 2016 1 Sat Apr 30 01:00:00 2016 1 Sun May 01 01:00:00 2016 1 Mon May 02 01:00:00 2016 1 Tue May 03 01:00:00 2016 1 Wed May 04 01:00:00 2016 1 Thu May 05 01:00:00 2016 1 Fri May 06 01:00:00 2016 1 Sat May 07 01:00:00 2016 1 Sun May 08 01:00:00 2016 1 Mon May 09 01:00:00 2016 1 Tue May 10 01:00:00 2016 1 Wed May 11 01:00:00 2016 1 Thu May 12 01:00:00 2016 1 Fri May 13 01:00:00 2016 1 Sat May 14 01:00:00 2016 1 Sun May 15 01:00:00 2016 1 Mon May 16 01:00:00 2016 1 Tue May 17 01:00:00 2016 1 Wed May 18 01:00:00 2016 1 Thu May 19 01:00:00 2016 1 Fri May 20 01:00:00 2016 1 Sat May 21 01:00:00 2016 1 Sun May 22 01:00:00 2016 1 Mon May 23 01:00:00 2016 1 Tue May 24 01:00:00 2016 1 Wed May 25 01:00:00 2016 1 Thu May 26 01:00:00 2016 1 Fri May 27 01:00:00 2016 1 Sat May 28 01:00:00 2016 1 Sun May 29 01:00:00 2016 1 Mon May 30 01:00:00 2016 1 Tue May 31 01:00:00 2016 1 Wed Jun 01 01:00:00 2016 1 Thu Jun 02 01:00:00 2016 1 Fri Jun 03 01:00:00 2016 1 Sat Jun 04 01:00:00 2016 1 Sun Jun 05 01:00:00 2016 1 Mon Jun 06 01:00:00 2016 1 Tue Jun 07 01:00:00 2016 1 Wed Jun 08 01:00:00 2016 1 Thu Jun 09 01:00:00 2016 1 Fri Jun 10 01:00:00 2016 1 Sat Jun 11 01:00:00 2016 1 Sun Jun 12 01:00:00 2016 1 Mon Jun 13 01:00:00 2016 1 Tue Jun 14 01:00:00 2016 1 Wed Jun 15 01:00:00 2016 1 Thu Jun 16 01:00:00 2016 1 Fri Jun 17 01:00:00 2016 1 Sat Jun 18 01:00:00 2016 1 Sun Jun 19 01:00:00 2016 1 Mon Jun 20 01:00:00 2016 1 Tue Jun 21 01:00:00 2016 1 Wed Jun 22 01:00:00 2016 1 Thu Jun 23 01:00:00 2016 1 Fri Jun 24 01:00:00 2016 1 Sat Jun 25 01:00:00 2016 1 Sun Jun 26 01:00:00 2016 1 Mon Jun 27 01:00:00 2016 1 Tue Jun 28 01:00:00 2016 1 Wed Jun 29 01:00:00 2016 1 Thu Jun 30 01:00:00 2016 1 Fri Jul 01 01:00:00 2016 1 Sat Jul 02 01:00:00 2016 1 Sun Jul 03 01:00:00 2016 1 Mon Jul 04 01:00:00 2016 1 Tue Jul 05 01:00:00 2016 1 Wed Jul 06 01:00:00 2016 1 Thu Jul 07 01:00:00 2016 1 Fri Jul 08 01:00:00 2016 1 Sat Jul 09 01:00:00 2016 1 Sun Jul 10 01:00:00 2016 1 Mon Jul 11 01:00:00 2016 1 Tue Jul 12 01:00:00 2016 1 Wed Jul 13 01:00:00 2016 1 Thu Jul 14 01:00:00 2016 1 Fri Jul 15 01:00:00 2016 1 Sat Jul 16 01:00:00 2016 1 Sun Jul 17 01:00:00 2016 1 Mon Jul 18 01:00:00 2016 1 Tue Jul 19 01:00:00 2016 1 Wed Jul 20 01:00:00 2016 1 Thu Jul 21 01:00:00 2016 1 Fri Jul 22 01:00:00 2016 1 Sat Jul 23 01:00:00 2016 1 Sun Jul 24 01:00:00 2016 1 Mon Jul 25 01:00:00 2016 1 Tue Jul 26 01:00:00 2016 1 Wed Jul 27 01:00:00 2016 1 Thu Jul 28 01:00:00 2016 1 Fri Jul 29 01:00:00 2016 1 Sat Jul 30 01:00:00 2016 1 Sun Jul 31 01:00:00 2016 1 Mon Aug 01 01:00:00 2016 1 Tue Aug 02 01:00:00 2016 1 Wed Aug 03 01:00:00 2016 1 Thu Aug 04 01:00:00 2016 1 Fri Aug 05 01:00:00 2016 1 Sat Aug 06 01:00:00 2016 1 Sun Aug 07 01:00:00 2016 1 Mon Aug 08 01:00:00 2016 1 Tue Aug 09 01:00:00 2016 1 Wed Aug 10 01:00:00 2016 1 Thu Aug 11 01:00:00 2016 1 Fri Aug 12 01:00:00 2016 1 Sat Aug 13 01:00:00 2016 1 Sun Aug 14 01:00:00 2016 1 Mon Aug 15 01:00:00 2016 1 Tue Aug 16 01:00:00 2016 1 Wed Aug 17 01:00:00 2016 1 Thu Aug 18 01:00:00 2016 1 Fri Aug 19 01:00:00 2016 1 Sat Aug 20 01:00:00 2016 1 Sun Aug 21 01:00:00 2016 1 Mon Aug 22 01:00:00 2016 1 Tue Aug 23 01:00:00 2016 1 Wed Aug 24 01:00:00 2016 1 Thu Aug 25 01:00:00 2016 1 Fri Aug 26 01:00:00 2016 1 Sat Aug 27 01:00:00 2016 1 Sun Aug 28 01:00:00 2016 1 Mon Aug 29 01:00:00 2016 1 Tue Aug 30 01:00:00 2016 1 Wed Aug 31 01:00:00 2016 1 Thu Sep 01 01:00:00 2016 1 Fri Sep 02 01:00:00 2016 1 Sat Sep 03 01:00:00 2016 1 Sun Sep 04 01:00:00 2016 1 Mon Sep 05 01:00:00 2016 1 Tue Sep 06 01:00:00 2016 1 Wed Sep 07 01:00:00 2016 1 Thu Sep 08 01:00:00 2016 1 Fri Sep 09 01:00:00 2016 1 Sat Sep 10 01:00:00 2016 1 Sun Sep 11 01:00:00 2016 1 Mon Sep 12 01:00:00 2016 1 Tue Sep 13 01:00:00 2016 1 Wed Sep 14 01:00:00 2016 1 Thu Sep 15 01:00:00 2016 1 Fri Sep 16 01:00:00 2016 1 Sat Sep 17 01:00:00 2016 1 Sun Sep 18 01:00:00 2016 1 Mon Sep 19 01:00:00 2016 1 Tue Sep 20 01:00:00 2016 1 Wed Sep 21 01:00:00 2016 1 Thu Sep 22 01:00:00 2016 1 Fri Sep 23 01:00:00 2016 1 Sat Sep 24 01:00:00 2016 1 Sun Sep 25 01:00:00 2016 1 Mon Sep 26 01:00:00 2016 1 Tue Sep 27 01:00:00 2016 1 Wed Sep 28 01:00:00 2016 1 Thu Sep 29 01:00:00 2016 1 Fri Sep 30 01:00:00 2016 1 Sat Oct 01 01:00:00 2016 1 Sun Oct 02 01:00:00 2016 1 Mon Oct 03 01:00:00 2016 1 Tue Oct 04 01:00:00 2016 1 Wed Oct 05 01:00:00 2016 1 Thu Oct 06 01:00:00 2016 1 Fri Oct 07 01:00:00 2016 1 Sat Oct 08 01:00:00 2016 1 Sun Oct 09 01:00:00 2016 1 Mon Oct 10 01:00:00 2016 1 Tue Oct 11 01:00:00 2016 1 Wed Oct 12 01:00:00 2016 1 Thu Oct 13 01:00:00 2016 1 Fri Oct 14 01:00:00 2016 1 Sat Oct 15 01:00:00 2016 1 Sun Oct 16 01:00:00 2016 1 Mon Oct 17 01:00:00 2016 1 Tue Oct 18 01:00:00 2016 1 Wed Oct 19 01:00:00 2016 1 Thu Oct 20 01:00:00 2016 1 Fri Oct 21 01:00:00 2016 1 Sat Oct 22 01:00:00 2016 1 Sun Oct 23 01:00:00 2016 1 Mon Oct 24 01:00:00 2016 1 Tue Oct 25 01:00:00 2016 1 Wed Oct 26 01:00:00 2016 1 Thu Oct 27 01:00:00 2016 1 Fri Oct 28 01:00:00 2016 1 Sat Oct 29 01:00:00 2016 1 Sun Oct 30 01:00:00 2016 0 Mon Oct 31 00:00:00 2016 0 Tue Nov 01 00:00:00 2016 0 Wed Nov 02 00:00:00 2016 0 Thu Nov 03 00:00:00 2016 0 Fri Nov 04 00:00:00 2016 0 Sat Nov 05 00:00:00 2016 0 Sun Nov 06 00:00:00 2016 0 Mon Nov 07 00:00:00 2016 0 Tue Nov 08 00:00:00 2016 0 Wed Nov 09 00:00:00 2016 0 Thu Nov 10 00:00:00 2016 0 Fri Nov 11 00:00:00 2016 0 Sat Nov 12 00:00:00 2016 0 Sun Nov 13 00:00:00 2016 0 Mon Nov 14 00:00:00 2016 0 Tue Nov 15 00:00:00 2016 0 Wed Nov 16 00:00:00 2016 0 Thu Nov 17 00:00:00 2016 0 Fri Nov 18 00:00:00 2016 0 Sat Nov 19 00:00:00 2016 0 Sun Nov 20 00:00:00 2016 0 Mon Nov 21 00:00:00 2016 0 Tue Nov 22 00:00:00 2016 0 Wed Nov 23 00:00:00 2016 0 Thu Nov 24 00:00:00 2016 0 Fri Nov 25 00:00:00 2016 0 Sat Nov 26 00:00:00 2016 0 Sun Nov 27 00:00:00 2016 0 Mon Nov 28 00:00:00 2016 0 Tue Nov 29 00:00:00 2016 0 Wed Nov 30 00:00:00 2016 0 Thu Dec 01 00:00:00 2016 0 Fri Dec 02 00:00:00 2016 0 Sat Dec 03 00:00:00 2016 0 Sun Dec 04 00:00:00 2016 0 Mon Dec 05 00:00:00 2016 0 Tue Dec 06 00:00:00 2016 0 Wed Dec 07 00:00:00 2016 0 Thu Dec 08 00:00:00 2016 0 Fri Dec 09 00:00:00 2016 0 Sat Dec 10 00:00:00 2016 0 Sun Dec 11 00:00:00 2016 0 Mon Dec 12 00:00:00 2016 0 Tue Dec 13 00:00:00 2016 0 Wed Dec 14 00:00:00 2016 0 Thu Dec 15 00:00:00 2016 0 Fri Dec 16 00:00:00 2016 0 Sat Dec 17 00:00:00 2016 0 Sun Dec 18 00:00:00 2016 0 Mon Dec 19 00:00:00 2016 0 Tue Dec 20 00:00:00 2016 0 Wed Dec 21 00:00:00 2016 0 Thu Dec 22 00:00:00 2016 0 Fri Dec 23 00:00:00 2016 0 Sat Dec 24 00:00:00 2016 0 Sun Dec 25 00:00:00 2016 0 Mon Dec 26 00:00:00 2016 0 Tue Dec 27 00:00:00 2016 0 Wed Dec 28 00:00:00 2016 0 Thu Dec 29 00:00:00 2016 0 Fri Dec 30 00:00:00 2016 0 Sat Dec 31 00:00:00 2016
-
Vielen Dank für eure Antworten.
SeppJ schrieb:
Oder, falls die Default-Locale deines Systems "C" sein sollte (was durchaus nicht ungewöhnlich wäre), kannst du auch gezielt eine gewünschte Locale angeben.
Ich habe mal die Runtime entscheiden lassen und diese schaltet auf "German_Germany.850" um. Das dürfte wohl die passende Locale sein.
Wie Wutz schreibt, hat das jedoch keinen Effekt auf den Termin der Zeitumstellung. Wenn ich unter Linux die GCC verwende, erhalte ich die richtigen Ergebnisse. Es scheint wohl an der Library des Borland Compilers zu liegen, den ich unter Windows verwende.
Ist zwar ärgerlich, aber da mein Programm später ohnehin auf Linux laufen wird, nicht weiter tragisch. Ich werde meine Entwicklungsumgebung aber dann wohl auf Linux umziehen müssen.
Vielen Dank noch einmal für eure Mühen.
-
Die Zeitzone hat eigentlich nichts mit den Einstellungen für die Zahlendarstellung zu tun.
Wenn nur die Zeitzone auf CET geändert wird (Windows 7 Enterprise) kommt:German_Germany.1252
0 Fri Jan 01 00:00:00 2016
0 Sat Jan 02 00:00:00 2016
0 Sun Jan 03 00:00:00 2016
0 Mon Jan 04 00:00:00 2016
0 Tue Jan 05 00:00:00 2016
0 Wed Jan 06 00:00:00 2016
0 Thu Jan 07 00:00:00 2016
0 Fri Jan 08 00:00:00 2016
0 Sat Jan 09 00:00:00 2016
0 Sun Jan 10 00:00:00 2016
0 Mon Jan 11 00:00:00 2016
0 Tue Jan 12 00:00:00 2016
0 Wed Jan 13 00:00:00 2016
0 Thu Jan 14 00:00:00 2016
0 Fri Jan 15 00:00:00 2016
0 Sat Jan 16 00:00:00 2016
0 Sun Jan 17 00:00:00 2016
0 Mon Jan 18 00:00:00 2016
0 Tue Jan 19 00:00:00 2016
0 Wed Jan 20 00:00:00 2016
0 Thu Jan 21 00:00:00 2016
0 Fri Jan 22 00:00:00 2016
0 Sat Jan 23 00:00:00 2016
0 Sun Jan 24 00:00:00 2016
0 Mon Jan 25 00:00:00 2016
0 Tue Jan 26 00:00:00 2016
0 Wed Jan 27 00:00:00 2016
0 Thu Jan 28 00:00:00 2016
0 Fri Jan 29 00:00:00 2016
0 Sat Jan 30 00:00:00 2016
0 Sun Jan 31 00:00:00 2016
0 Mon Feb 01 00:00:00 2016
0 Tue Feb 02 00:00:00 2016
0 Wed Feb 03 00:00:00 2016
0 Thu Feb 04 00:00:00 2016
0 Fri Feb 05 00:00:00 2016
0 Sat Feb 06 00:00:00 2016
0 Sun Feb 07 00:00:00 2016
0 Mon Feb 08 00:00:00 2016
0 Tue Feb 09 00:00:00 2016
0 Wed Feb 10 00:00:00 2016
0 Thu Feb 11 00:00:00 2016
0 Fri Feb 12 00:00:00 2016
0 Sat Feb 13 00:00:00 2016
0 Sun Feb 14 00:00:00 2016
0 Mon Feb 15 00:00:00 2016
0 Tue Feb 16 00:00:00 2016
0 Wed Feb 17 00:00:00 2016
0 Thu Feb 18 00:00:00 2016
0 Fri Feb 19 00:00:00 2016
0 Sat Feb 20 00:00:00 2016
0 Sun Feb 21 00:00:00 2016
0 Mon Feb 22 00:00:00 2016
0 Tue Feb 23 00:00:00 2016
0 Wed Feb 24 00:00:00 2016
0 Thu Feb 25 00:00:00 2016
0 Fri Feb 26 00:00:00 2016
0 Sat Feb 27 00:00:00 2016
0 Sun Feb 28 00:00:00 2016
0 Mon Feb 29 00:00:00 2016
0 Tue Mar 01 00:00:00 2016
0 Wed Mar 02 00:00:00 2016
0 Thu Mar 03 00:00:00 2016
0 Fri Mar 04 00:00:00 2016
0 Sat Mar 05 00:00:00 2016
0 Sun Mar 06 00:00:00 2016
0 Mon Mar 07 00:00:00 2016
0 Tue Mar 08 00:00:00 2016
0 Wed Mar 09 00:00:00 2016
0 Thu Mar 10 00:00:00 2016
0 Fri Mar 11 00:00:00 2016
0 Sat Mar 12 00:00:00 2016
0 Sun Mar 13 00:00:00 2016
1 Mon Mar 14 01:00:00 2016
1 Tue Mar 15 01:00:00 2016
1 Wed Mar 16 01:00:00 2016
1 Thu Mar 17 01:00:00 2016
1 Fri Mar 18 01:00:00 2016
1 Sat Mar 19 01:00:00 2016
1 Sun Mar 20 01:00:00 2016
1 Mon Mar 21 01:00:00 2016
1 Tue Mar 22 01:00:00 2016
1 Wed Mar 23 01:00:00 2016
1 Thu Mar 24 01:00:00 2016
1 Fri Mar 25 01:00:00 2016
1 Sat Mar 26 01:00:00 2016
1 Sun Mar 27 01:00:00 2016
1 Mon Mar 28 01:00:00 2016
1 Tue Mar 29 01:00:00 2016
1 Wed Mar 30 01:00:00 2016
1 Thu Mar 31 01:00:00 2016
1 Fri Apr 01 01:00:00 2016
1 Sat Apr 02 01:00:00 2016
1 Sun Apr 03 01:00:00 2016
1 Mon Apr 04 01:00:00 2016
1 Tue Apr 05 01:00:00 2016
1 Wed Apr 06 01:00:00 2016
1 Thu Apr 07 01:00:00 2016
1 Fri Apr 08 01:00:00 2016
1 Sat Apr 09 01:00:00 2016
1 Sun Apr 10 01:00:00 2016
1 Mon Apr 11 01:00:00 2016
1 Tue Apr 12 01:00:00 2016
1 Wed Apr 13 01:00:00 2016
1 Thu Apr 14 01:00:00 2016
1 Fri Apr 15 01:00:00 2016
1 Sat Apr 16 01:00:00 2016
1 Sun Apr 17 01:00:00 2016
1 Mon Apr 18 01:00:00 2016
1 Tue Apr 19 01:00:00 2016
1 Wed Apr 20 01:00:00 2016
1 Thu Apr 21 01:00:00 2016
1 Fri Apr 22 01:00:00 2016
1 Sat Apr 23 01:00:00 2016
1 Sun Apr 24 01:00:00 2016
1 Mon Apr 25 01:00:00 2016
1 Tue Apr 26 01:00:00 2016
1 Wed Apr 27 01:00:00 2016
1 Thu Apr 28 01:00:00 2016
1 Fri Apr 29 01:00:00 2016
1 Sat Apr 30 01:00:00 2016
1 Sun May 01 01:00:00 2016
1 Mon May 02 01:00:00 2016
1 Tue May 03 01:00:00 2016
1 Wed May 04 01:00:00 2016
1 Thu May 05 01:00:00 2016
1 Fri May 06 01:00:00 2016
1 Sat May 07 01:00:00 2016
1 Sun May 08 01:00:00 2016
1 Mon May 09 01:00:00 2016
1 Tue May 10 01:00:00 2016
1 Wed May 11 01:00:00 2016
1 Thu May 12 01:00:00 2016
1 Fri May 13 01:00:00 2016
1 Sat May 14 01:00:00 2016
1 Sun May 15 01:00:00 2016
1 Mon May 16 01:00:00 2016
1 Tue May 17 01:00:00 2016
1 Wed May 18 01:00:00 2016
1 Thu May 19 01:00:00 2016
1 Fri May 20 01:00:00 2016
1 Sat May 21 01:00:00 2016
1 Sun May 22 01:00:00 2016
1 Mon May 23 01:00:00 2016
1 Tue May 24 01:00:00 2016
1 Wed May 25 01:00:00 2016
1 Thu May 26 01:00:00 2016
1 Fri May 27 01:00:00 2016
1 Sat May 28 01:00:00 2016
1 Sun May 29 01:00:00 2016
1 Mon May 30 01:00:00 2016
1 Tue May 31 01:00:00 2016
1 Wed Jun 01 01:00:00 2016
1 Thu Jun 02 01:00:00 2016
1 Fri Jun 03 01:00:00 2016
1 Sat Jun 04 01:00:00 2016
1 Sun Jun 05 01:00:00 2016
1 Mon Jun 06 01:00:00 2016
1 Tue Jun 07 01:00:00 2016
1 Wed Jun 08 01:00:00 2016
1 Thu Jun 09 01:00:00 2016
1 Fri Jun 10 01:00:00 2016
1 Sat Jun 11 01:00:00 2016
1 Sun Jun 12 01:00:00 2016
1 Mon Jun 13 01:00:00 2016
1 Tue Jun 14 01:00:00 2016
1 Wed Jun 15 01:00:00 2016
1 Thu Jun 16 01:00:00 2016
1 Fri Jun 17 01:00:00 2016
1 Sat Jun 18 01:00:00 2016
1 Sun Jun 19 01:00:00 2016
1 Mon Jun 20 01:00:00 2016
1 Tue Jun 21 01:00:00 2016
1 Wed Jun 22 01:00:00 2016
1 Thu Jun 23 01:00:00 2016
1 Fri Jun 24 01:00:00 2016
1 Sat Jun 25 01:00:00 2016
1 Sun Jun 26 01:00:00 2016
1 Mon Jun 27 01:00:00 2016
1 Tue Jun 28 01:00:00 2016
1 Wed Jun 29 01:00:00 2016
1 Thu Jun 30 01:00:00 2016
1 Fri Jul 01 01:00:00 2016
1 Sat Jul 02 01:00:00 2016
1 Sun Jul 03 01:00:00 2016
1 Mon Jul 04 01:00:00 2016
1 Tue Jul 05 01:00:00 2016
1 Wed Jul 06 01:00:00 2016
1 Thu Jul 07 01:00:00 2016
1 Fri Jul 08 01:00:00 2016
1 Sat Jul 09 01:00:00 2016
1 Sun Jul 10 01:00:00 2016
1 Mon Jul 11 01:00:00 2016
1 Tue Jul 12 01:00:00 2016
1 Wed Jul 13 01:00:00 2016
1 Thu Jul 14 01:00:00 2016
1 Fri Jul 15 01:00:00 2016
1 Sat Jul 16 01:00:00 2016
1 Sun Jul 17 01:00:00 2016
1 Mon Jul 18 01:00:00 2016
1 Tue Jul 19 01:00:00 2016
1 Wed Jul 20 01:00:00 2016
1 Thu Jul 21 01:00:00 2016
1 Fri Jul 22 01:00:00 2016
1 Sat Jul 23 01:00:00 2016
1 Sun Jul 24 01:00:00 2016
1 Mon Jul 25 01:00:00 2016
1 Tue Jul 26 01:00:00 2016
1 Wed Jul 27 01:00:00 2016
1 Thu Jul 28 01:00:00 2016
1 Fri Jul 29 01:00:00 2016
1 Sat Jul 30 01:00:00 2016
1 Sun Jul 31 01:00:00 2016
1 Mon Aug 01 01:00:00 2016
1 Tue Aug 02 01:00:00 2016
1 Wed Aug 03 01:00:00 2016
1 Thu Aug 04 01:00:00 2016
1 Fri Aug 05 01:00:00 2016
1 Sat Aug 06 01:00:00 2016
1 Sun Aug 07 01:00:00 2016
1 Mon Aug 08 01:00:00 2016
1 Tue Aug 09 01:00:00 2016
1 Wed Aug 10 01:00:00 2016
1 Thu Aug 11 01:00:00 2016
1 Fri Aug 12 01:00:00 2016
1 Sat Aug 13 01:00:00 2016
1 Sun Aug 14 01:00:00 2016
1 Mon Aug 15 01:00:00 2016
1 Tue Aug 16 01:00:00 2016
1 Wed Aug 17 01:00:00 2016
1 Thu Aug 18 01:00:00 2016
1 Fri Aug 19 01:00:00 2016
1 Sat Aug 20 01:00:00 2016
1 Sun Aug 21 01:00:00 2016
1 Mon Aug 22 01:00:00 2016
1 Tue Aug 23 01:00:00 2016
1 Wed Aug 24 01:00:00 2016
1 Thu Aug 25 01:00:00 2016
1 Fri Aug 26 01:00:00 2016
1 Sat Aug 27 01:00:00 2016
1 Sun Aug 28 01:00:00 2016
1 Mon Aug 29 01:00:00 2016
1 Tue Aug 30 01:00:00 2016
1 Wed Aug 31 01:00:00 2016
1 Thu Sep 01 01:00:00 2016
1 Fri Sep 02 01:00:00 2016
1 Sat Sep 03 01:00:00 2016
1 Sun Sep 04 01:00:00 2016
1 Mon Sep 05 01:00:00 2016
1 Tue Sep 06 01:00:00 2016
1 Wed Sep 07 01:00:00 2016
1 Thu Sep 08 01:00:00 2016
1 Fri Sep 09 01:00:00 2016
1 Sat Sep 10 01:00:00 2016
1 Sun Sep 11 01:00:00 2016
1 Mon Sep 12 01:00:00 2016
1 Tue Sep 13 01:00:00 2016
1 Wed Sep 14 01:00:00 2016
1 Thu Sep 15 01:00:00 2016
1 Fri Sep 16 01:00:00 2016
1 Sat Sep 17 01:00:00 2016
1 Sun Sep 18 01:00:00 2016
1 Mon Sep 19 01:00:00 2016
1 Tue Sep 20 01:00:00 2016
1 Wed Sep 21 01:00:00 2016
1 Thu Sep 22 01:00:00 2016
1 Fri Sep 23 01:00:00 2016
1 Sat Sep 24 01:00:00 2016
1 Sun Sep 25 01:00:00 2016
1 Mon Sep 26 01:00:00 2016
1 Tue Sep 27 01:00:00 2016
1 Wed Sep 28 01:00:00 2016
1 Thu Sep 29 01:00:00 2016
1 Fri Sep 30 01:00:00 2016
1 Sat Oct 01 01:00:00 2016
1 Sun Oct 02 01:00:00 2016
1 Mon Oct 03 01:00:00 2016
1 Tue Oct 04 01:00:00 2016
1 Wed Oct 05 01:00:00 2016
1 Thu Oct 06 01:00:00 2016
1 Fri Oct 07 01:00:00 2016
1 Sat Oct 08 01:00:00 2016
1 Sun Oct 09 01:00:00 2016
1 Mon Oct 10 01:00:00 2016
1 Tue Oct 11 01:00:00 2016
1 Wed Oct 12 01:00:00 2016
1 Thu Oct 13 01:00:00 2016
1 Fri Oct 14 01:00:00 2016
1 Sat Oct 15 01:00:00 2016
1 Sun Oct 16 01:00:00 2016
1 Mon Oct 17 01:00:00 2016
1 Tue Oct 18 01:00:00 2016
1 Wed Oct 19 01:00:00 2016
1 Thu Oct 20 01:00:00 2016
1 Fri Oct 21 01:00:00 2016
1 Sat Oct 22 01:00:00 2016
1 Sun Oct 23 01:00:00 2016
1 Mon Oct 24 01:00:00 2016
1 Tue Oct 25 01:00:00 2016
1 Wed Oct 26 01:00:00 2016
1 Thu Oct 27 01:00:00 2016
1 Fri Oct 28 01:00:00 2016
1 Sat Oct 29 01:00:00 2016
1 Sun Oct 30 01:00:00 2016
1 Mon Oct 31 01:00:00 2016
1 Tue Nov 01 01:00:00 2016
1 Wed Nov 02 01:00:00 2016
1 Thu Nov 03 01:00:00 2016
1 Fri Nov 04 01:00:00 2016
1 Sat Nov 05 01:00:00 2016
1 Sun Nov 06 01:00:00 2016
0 Mon Nov 07 00:00:00 2016
0 Tue Nov 08 00:00:00 2016
0 Wed Nov 09 00:00:00 2016
0 Thu Nov 10 00:00:00 2016
0 Fri Nov 11 00:00:00 2016
0 Sat Nov 12 00:00:00 2016
0 Sun Nov 13 00:00:00 2016
0 Mon Nov 14 00:00:00 2016
0 Tue Nov 15 00:00:00 2016
0 Wed Nov 16 00:00:00 2016
0 Thu Nov 17 00:00:00 2016
0 Fri Nov 18 00:00:00 2016
0 Sat Nov 19 00:00:00 2016
0 Sun Nov 20 00:00:00 2016
0 Mon Nov 21 00:00:00 2016
0 Tue Nov 22 00:00:00 2016
0 Wed Nov 23 00:00:00 2016
0 Thu Nov 24 00:00:00 2016
0 Fri Nov 25 00:00:00 2016
0 Sat Nov 26 00:00:00 2016
0 Sun Nov 27 00:00:00 2016
0 Mon Nov 28 00:00:00 2016
0 Tue Nov 29 00:00:00 2016
0 Wed Nov 30 00:00:00 2016
0 Thu Dec 01 00:00:00 2016
0 Fri Dec 02 00:00:00 2016
0 Sat Dec 03 00:00:00 2016
0 Sun Dec 04 00:00:00 2016
0 Mon Dec 05 00:00:00 2016
0 Tue Dec 06 00:00:00 2016
0 Wed Dec 07 00:00:00 2016
0 Thu Dec 08 00:00:00 2016
0 Fri Dec 09 00:00:00 2016
0 Sat Dec 10 00:00:00 2016
0 Sun Dec 11 00:00:00 2016
0 Mon Dec 12 00:00:00 2016
0 Tue Dec 13 00:00:00 2016
0 Wed Dec 14 00:00:00 2016
0 Thu Dec 15 00:00:00 2016
0 Fri Dec 16 00:00:00 2016
0 Sat Dec 17 00:00:00 2016
0 Sun Dec 18 00:00:00 2016
0 Mon Dec 19 00:00:00 2016
0 Tue Dec 20 00:00:00 2016
0 Wed Dec 21 00:00:00 2016
0 Thu Dec 22 00:00:00 2016
0 Fri Dec 23 00:00:00 2016
0 Sat Dec 24 00:00:00 2016
0 Sun Dec 25 00:00:00 2016
0 Mon Dec 26 00:00:00 2016
0 Tue Dec 27 00:00:00 2016
0 Wed Dec 28 00:00:00 2016
0 Thu Dec 29 00:00:00 2016
0 Fri Dec 30 00:00:00 2016
0 Sat Dec 31 00:00:00 2016
-
Portabel kann man aber Zeitzonen nicht ändern, da braucht man tzset (und putenv).
Ich habs mal versucht, da M$ aber wieder mal eigene Wege geht, etwas umständlich, bessere Lösungen sind willkommen:#include <stdio.h> #include <time.h> struct tm makeDate(int day, int month, int year) { struct tm ttm = { 0 }; ttm.tm_mday = day; ttm.tm_mon = month - 1; ttm.tm_year = year - 1900; return ttm; } int main() { struct tm date, startDate = makeDate(1, 1, 2016), endDate = makeDate(31, 12, 2016); time_t end = mktime(&endDate); #ifdef __int64 /* VisualC+MinGW */ #else extern char *tzname[2]; /* Linux/POSIX */ extern long timezone; extern int daylight; putenv("TZ=CET-1CEST,M3.5.0/2,M10.5.0/3"); #endif tzset(); printf("%d %ld %s %s\n", daylight, timezone, tzname[0], tzname[1]); for (date = startDate; end >= mktime(&date); ++date.tm_mday) { printf("%d %s", date.tm_isdst, asctime(&date)); /* Berlin */ } putenv("TZ=EST5EDT,M3.2.0/2,M11.1.0"); tzset(); printf("%d %ld %s %s\n", daylight, timezone, tzname[0], tzname[1]); for (date = startDate; end >= mktime(&date); ++date.tm_mday) { printf("%d %s", date.tm_isdst, asctime(&date)); /* New York */ } return 0; }