Martin Speiser: (off-topic) Y2K 035

Beitrag lesen

Hi Bio,

das Problem ist der time_t Datentyp, in dem die Sekunden seit 1970 (oder so) gespeichert sind. Benutzt wird es von den Funktionen time (Holt die Systemzeit) und mktime (Konvertiert die Zeit). Zuschlagen wird der Bug am 18.1.2038, und das nicht nur unter Unix. Es ist ein Typ definiert in ANSI-C, es betrifft alle Programme in C oder C++, die direkt oder indirekt diesen Datentype verwenden. Auch Windows.

Falls jemand unter Windows mit der MFC programmiert: tm wird in CTime verwendet, also auch hier Obacht. Eine Lösung ist es die Strukturen des Systems zu verwenden, oder COleDateTime.

Zwei Links zum Thema: http://msdn.microsoft.com/library/welcome/dsmsdn/msdn_090798a.htm und http://msdn.microsoft.com/library/welcome/dsmsdn/msdn_093098a.htm, zusätzlich kann man auch das Archiv nach 2038 durchsuchen ;-)

Gruss,
Martin