+ // Parse date and time, if it exists. Set invalid dates to year 3000.
+ const char *date_tag = current_game.tags[DATE_TAG];
+ const char *time_tag = current_game.tags[TIME_TAG];
+ struct tm tm = {0};
+ time_t timestamp;
+ int year, month, day;
+ if (date_tag && sscanf(date_tag, "%u.%u.%u", &year, &month, &day) == 3) {
+ int hour, minute, second;
+ tm.tm_year = year - 1900;
+ tm.tm_mon = month - 1;
+ tm.tm_mday = day;
+
+ if (time_tag && sscanf(time_tag, "%u:%u:%u", &hour, &minute, &second) == 3) {
+ tm.tm_hour = hour;
+ tm.tm_min = minute;
+ tm.tm_sec = second;
+ }
+ timestamp = mktime(&tm);
+ } else {
+ timestamp = 32503680000;
+ }
+