From 101077713988fb9d048e72efe887c1474f81c4d7 Mon Sep 17 00:00:00 2001 From: Michael Gorven Date: Mon, 24 Jan 2022 10:25:45 -0800 Subject: [PATCH] Add weekday to formatTimeWeekday() (#11020) --- src/common/datetime/format_time.ts | 2 +- test/common/datetime/format_time.ts | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/common/datetime/format_time.ts b/src/common/datetime/format_time.ts index bb60944b68..3ea3718fba 100644 --- a/src/common/datetime/format_time.ts +++ b/src/common/datetime/format_time.ts @@ -43,9 +43,9 @@ export const formatTimeWeekday = (dateObj: Date, locale: FrontendLocaleData) => const formatTimeWeekdayMem = memoizeOne( (locale: FrontendLocaleData) => new Intl.DateTimeFormat(locale.language, { + weekday: "long", hour: useAmPm(locale) ? "numeric" : "2-digit", minute: "2-digit", - second: "2-digit", hour12: useAmPm(locale), }) ); diff --git a/test/common/datetime/format_time.ts b/test/common/datetime/format_time.ts index 827f278278..e8cc5f63f0 100644 --- a/test/common/datetime/format_time.ts +++ b/test/common/datetime/format_time.ts @@ -3,6 +3,7 @@ import { assert } from "chai"; import { formatTime, formatTimeWithSeconds, + formatTimeWeekday, } from "../../../src/common/datetime/format_time"; import { NumberFormat, TimeFormat } from "../../../src/data/translation"; @@ -51,3 +52,26 @@ describe("formatTimeWithSeconds", () => { ); }); }); + +describe("formatTimeWeekday", () => { + const dateObj = new Date(2017, 10, 18, 23, 12, 13, 1400); + + it("Formats English times", () => { + assert.strictEqual( + formatTimeWeekday(dateObj, { + language: "en", + number_format: NumberFormat.language, + time_format: TimeFormat.am_pm, + }), + "Wednesday 11:12 PM" + ); + assert.strictEqual( + formatTimeWeekday(dateObj, { + language: "en", + number_format: NumberFormat.language, + time_format: TimeFormat.twenty_four, + }), + "Wednesday 23:12" + ); + }); +});