diff --git a/src/shared/lib/display.test.ts b/src/shared/lib/display.test.ts index 826d772..578282f 100644 --- a/src/shared/lib/display.test.ts +++ b/src/shared/lib/display.test.ts @@ -12,9 +12,16 @@ describe("shared display helpers", () => { expect(formatDate("2027-09-10")).toBe("10.09.2027"); expect(formatDate("2024-02-29")).toBe("29.02.2024"); expect(formatDate("2027-09-10T00:30:00+03:00")).toBe("09.09.2027"); - expect(formatSnapshotTime("2027-09-10T00:30:00+03:00")).toBe( - "09.09.2027, 21:30", - ); + }); + it("formats snapshot time in the browser time zone", () => { + const instant = "2027-09-10T00:30:00+03:00"; + + const expected = new Intl.DateTimeFormat("ru-RU", { + dateStyle: "short", + timeStyle: "short", + }).format(new Date(instant)); + + expect(formatSnapshotTime(instant)).toBe(expected); }); it("formats decimal strings without financial arithmetic", () => { expect(formatMoney({ currency: "RUB", value: "-1234567.89" })).toBe( diff --git a/src/shared/lib/display.ts b/src/shared/lib/display.ts index 4a23e3f..db44e99 100644 --- a/src/shared/lib/display.ts +++ b/src/shared/lib/display.ts @@ -61,10 +61,10 @@ function formatMoney( return `${formatDecimal(decimal)} ${currency}`; } +// Без timeZone Intl берёт часовой пояс браузера пользователя. const snapshotFormatter = new Intl.DateTimeFormat("ru-RU", { dateStyle: "short", timeStyle: "short", - timeZone: "UTC", }); function formatSnapshotTime(value: string): string {