Index: RTC.c =================================================================== diff -u -r17198326430351fe763d5faacc554f872092d9de -rb3ae506971faab3e7429dc51eeead3638297d6be --- RTC.c (.../RTC.c) (revision 17198326430351fe763d5faacc554f872092d9de) +++ RTC.c (.../RTC.c) (revision b3ae506971faab3e7429dc51eeead3638297d6be) @@ -856,13 +856,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;