diff --git a/packages/core/src/common.ts b/packages/core/src/common.ts index fb91088485..91ab568c51 100644 --- a/packages/core/src/common.ts +++ b/packages/core/src/common.ts @@ -805,5 +805,16 @@ export const getReadableTimeString = ( .replace('mm', minutes) .replace('ss', seconds); - return `${timeString} (${format})`; + const timezoneOffsetMinutes = -now.getTimezoneOffset(); + const timezoneSign = timezoneOffsetMinutes >= 0 ? '+' : '-'; + const timezoneHours = String( + Math.floor(Math.abs(timezoneOffsetMinutes) / 60), + ).padStart(2, '0'); + const timezoneMinutes = String(Math.abs(timezoneOffsetMinutes) % 60).padStart( + 2, + '0', + ); + const timezone = `UTC${timezoneSign}${timezoneHours}:${timezoneMinutes}`; + + return `${timeString} (${format}, ${timezone})`; }; diff --git a/packages/core/tests/unit-test/task-executor-concurrency.test.ts b/packages/core/tests/unit-test/task-executor-concurrency.test.ts index 04272a83fb..4615521111 100644 --- a/packages/core/tests/unit-test/task-executor-concurrency.test.ts +++ b/packages/core/tests/unit-test/task-executor-concurrency.test.ts @@ -167,7 +167,9 @@ describe('TaskExecutor concurrency isolation', () => { ); expect(seenPendingFeedback).toEqual([ '', - 'Current time: 2023-10-15 15:37:00 (YYYY-MM-DD HH:mm:ss)', + expect.stringMatching( + /^Current time: 2023-10-15 15:37:00 \(YYYY-MM-DD HH:mm:ss, UTC[+-]\d{2}:\d{2}\)$/, + ), ]); }); @@ -225,7 +227,9 @@ describe('TaskExecutor concurrency isolation', () => { expect(seenPendingFeedback).toEqual([ '', - 'Current time: 2023-10-15 08:30:00 (YYYY-MM-DD HH:mm:ss)', + expect.stringMatching( + /^Current time: 2023-10-15 08:30:00 \(YYYY-MM-DD HH:mm:ss, UTC[+-]\d{2}:\d{2}\)$/, + ), ]); }); });