mirror of
https://github.com/RGBCube/serenity
synced 2025-07-03 05:32:13 +00:00
LibUnicode: Add minimal support for generic & offset-based time zones
ECMA-402 now supports short-offset, long-offset, short-generic, and long-generic time zone name formatting. For example, in the en-US locale the America/Eastern time zone would be formatted as: short-offset: GMT-5 long-offset: GMT-05:00 short-generic: ET long-generic: Eastern Time We currently only support the UTC time zone, however. Therefore, this very minimal implementation does not consider GMT offset or generic display names. Instead, the CLDR defines specific strings for UTC.
This commit is contained in:
parent
d2ac40bcd7
commit
126a3fe180
3 changed files with 109 additions and 19 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Tim Flynn <trflynn89@pm.me>
|
||||
* Copyright (c) 2021-2022, Tim Flynn <trflynn89@pm.me>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
@ -53,6 +53,14 @@ CalendarPatternStyle calendar_pattern_style_from_string(StringView style)
|
|||
return CalendarPatternStyle::Numeric;
|
||||
if (style == "2-digit"sv)
|
||||
return CalendarPatternStyle::TwoDigit;
|
||||
if (style == "shortOffset"sv)
|
||||
return CalendarPatternStyle::ShortOffset;
|
||||
if (style == "longOffset"sv)
|
||||
return CalendarPatternStyle::LongOffset;
|
||||
if (style == "shortGeneric"sv)
|
||||
return CalendarPatternStyle::ShortGeneric;
|
||||
if (style == "longGeneric"sv)
|
||||
return CalendarPatternStyle::LongGeneric;
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
|
@ -69,6 +77,14 @@ StringView calendar_pattern_style_to_string(CalendarPatternStyle style)
|
|||
return "numeric"sv;
|
||||
case CalendarPatternStyle::TwoDigit:
|
||||
return "2-digit"sv;
|
||||
case CalendarPatternStyle::ShortOffset:
|
||||
return "shortOffset"sv;
|
||||
case CalendarPatternStyle::LongOffset:
|
||||
return "longOffset"sv;
|
||||
case CalendarPatternStyle::ShortGeneric:
|
||||
return "shortGeneric"sv;
|
||||
case CalendarPatternStyle::LongGeneric:
|
||||
return "longGeneric"sv;
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue