Index: RTC.c =================================================================== diff -u -rf5f58ba4dd4247da495c8f6656b0cc61390df596 -r1beb69d9da7309365751da6feaa88f594e704e46 --- RTC.c (.../RTC.c) (revision f5f58ba4dd4247da495c8f6656b0cc61390df596) +++ RTC.c (.../RTC.c) (revision 1beb69d9da7309365751da6feaa88f594e704e46) @@ -854,13 +854,12 @@ { struct tm *ptm; - // Convert epoch to C library equivalent - epoch -= YEAR_1900_TO_1970_SECONDS_DIFF; // Convert epoch to date/time structure + epoch += YEAR_1900_TO_1970_SECONDS_DIFF; ptm = gmtime( &epoch ); // Copy date/time stamp to our structure - RTCNewTimestampStruct.years = ptm->tm_year; - RTCNewTimestampStruct.months = ptm->tm_mon; + RTCNewTimestampStruct.years = ptm->tm_year + EPOCH_YEAR; // epoch is seconds from 1/1/1900. + RTCNewTimestampStruct.months = ptm->tm_mon + 1; // months from gmtime() are 0..11 - convert to 1..12. RTCNewTimestampStruct.days = ptm->tm_mday; RTCNewTimestampStruct.hours = ptm->tm_hour; RTCNewTimestampStruct.minutes = ptm->tm_min;