Fix 24:XX time issue in Chrome (#11426)

This commit is contained in:
Philip Allgaier 2022-01-26 09:37:09 +01:00 committed by GitHub
parent eddb392ad0
commit 0df9e9932f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 42 deletions

View File

@ -13,14 +13,19 @@ export const formatDateTime = (dateObj: Date, locale: FrontendLocaleData) =>
const formatDateTimeMem = memoizeOne( const formatDateTimeMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
year: "numeric", locale.language === "en" && !useAmPm(locale)
month: "long", ? "en-u-hc-h23"
day: "numeric", : locale.language,
hour: useAmPm(locale) ? "numeric" : "2-digit", {
minute: "2-digit", year: "numeric",
hour12: useAmPm(locale), month: "long",
}) day: "numeric",
hour: useAmPm(locale) ? "numeric" : "2-digit",
minute: "2-digit",
hour12: useAmPm(locale),
}
)
); );
// August 9, 2021, 8:23:15 AM // August 9, 2021, 8:23:15 AM
@ -31,15 +36,20 @@ export const formatDateTimeWithSeconds = (
const formatDateTimeWithSecondsMem = memoizeOne( const formatDateTimeWithSecondsMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
year: "numeric", locale.language === "en" && !useAmPm(locale)
month: "long", ? "en-u-hc-h23"
day: "numeric", : locale.language,
hour: useAmPm(locale) ? "numeric" : "2-digit", {
minute: "2-digit", year: "numeric",
second: "2-digit", month: "long",
hour12: useAmPm(locale), day: "numeric",
}) hour: useAmPm(locale) ? "numeric" : "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: useAmPm(locale),
}
)
); );
// 9/8/2021, 8:23 AM // 9/8/2021, 8:23 AM
@ -50,12 +60,17 @@ export const formatDateTimeNumeric = (
const formatDateTimeNumericMem = memoizeOne( const formatDateTimeNumericMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
year: "numeric", locale.language === "en" && !useAmPm(locale)
month: "numeric", ? "en-u-hc-h23"
day: "numeric", : locale.language,
hour: "numeric", {
minute: "2-digit", year: "numeric",
hour12: useAmPm(locale), month: "numeric",
}) day: "numeric",
hour: "numeric",
minute: "2-digit",
hour12: useAmPm(locale),
}
)
); );

View File

@ -13,11 +13,16 @@ export const formatTime = (dateObj: Date, locale: FrontendLocaleData) =>
const formatTimeMem = memoizeOne( const formatTimeMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
hour: "numeric", locale.language === "en" && !useAmPm(locale)
minute: "2-digit", ? "en-u-hc-h23"
hour12: useAmPm(locale), : locale.language,
}) {
hour: "numeric",
minute: "2-digit",
hour12: useAmPm(locale),
}
)
); );
// 9:15:24 PM || 21:15:24 // 9:15:24 PM || 21:15:24
@ -28,12 +33,17 @@ export const formatTimeWithSeconds = (
const formatTimeWithSecondsMem = memoizeOne( const formatTimeWithSecondsMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
hour: useAmPm(locale) ? "numeric" : "2-digit", locale.language === "en" && !useAmPm(locale)
minute: "2-digit", ? "en-u-hc-h23"
second: "2-digit", : locale.language,
hour12: useAmPm(locale), {
}) hour: useAmPm(locale) ? "numeric" : "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: useAmPm(locale),
}
)
); );
// Tuesday 7:00 PM || Tuesday 19:00 // Tuesday 7:00 PM || Tuesday 19:00
@ -42,10 +52,15 @@ export const formatTimeWeekday = (dateObj: Date, locale: FrontendLocaleData) =>
const formatTimeWeekdayMem = memoizeOne( const formatTimeWeekdayMem = memoizeOne(
(locale: FrontendLocaleData) => (locale: FrontendLocaleData) =>
new Intl.DateTimeFormat(locale.language, { new Intl.DateTimeFormat(
weekday: "long", locale.language === "en" && !useAmPm(locale)
hour: useAmPm(locale) ? "numeric" : "2-digit", ? "en-u-hc-h23"
minute: "2-digit", : locale.language,
hour12: useAmPm(locale), {
}) weekday: "long",
hour: useAmPm(locale) ? "numeric" : "2-digit",
minute: "2-digit",
hour12: useAmPm(locale),
}
)
); );