I'm parsing datetimes from text file using this:
#define DATETIME_FORMAT "%Y-%m-%d %H:%M:%S"
if (!strptime(datetimestr, DATETIME_FORMAT, &record->datetime)) {
return 0;
} else {
record->message_size = strlen(messagestr) - 1;
messagestr[record->message_size] = '\0';
strcpy(record->message, messagestr);
printf("parsed '%s' '%s' %ld\n", messagestr, datetimestr, mktime(&record->datetime));
return 1;
}
And I get these prints
parsed 'ETC' '2023-04-03 09:00:19' 1680508819
parsed 'StandUp' '2023-04-03 09:00:47' 1680508847
parsed 'Stop' '2023-04-03 09:11:55' 1680505915
But when I paste them to online epoch converter I get that:
- 1680508819 => GMT: Monday 3. April 2023 8:00:19
- 1680508847 => GMT: Monday 3. April 2023 8:00:47
- 1680505915 => GMT: Monday 3. April 2023 7:11:55
So why is strptime
and mktime
transforming third date completely differently?