From bd3aa845fe10067fe6add544891391d6ac0be6e9 Mon Sep 17 00:00:00 2001 From: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com> Date: Fri, 22 May 2026 14:17:28 +0800 Subject: [PATCH] feat(core): include timezone in aiAct time context --- packages/core/src/common.ts | 13 ++++++++++++- .../unit-test/task-executor-concurrency.test.ts | 8 ++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) 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}\)$/, + ), ]); }); });