--- a/src/chess/pgn.c Fri Aug 21 20:06:26 2026 +0200 +++ b/src/chess/pgn.c Sat Aug 22 15:15:52 2026 +0200 @@ -277,7 +277,7 @@ gettimeofday(&curtimestamp, NULL); dateseconds = curtimestamp.tv_sec; } else { - dateseconds = (time_t) gamestate->moves[0].timestamp.tv_sec; + dateseconds = (time_t) gamestate->moves[0].timestamp.sec; } struct tm *tm = gmtime(&dateseconds); if (tm == NULL) { @@ -377,7 +377,7 @@ /* elapsed move time */ memcpy(resp, " {[%emt ", 8); resp += 8; - uint16_t emt = gamestate->moves[i].movetime.tv_sec; + uint16_t emt = gamestate->moves[i].movetime / 1000000ull; resp += print_clk(emt, resp, true); *(resp++) = ']'; *(resp++) = '}';