有一个代表语言的字符串(可选地带有国家信息),我怎么知道时间应该显示为12H还是24H?如何从Angular Locale获取有关时间格式的信息(12/24)?
例如
is12HFormat('en_EN') // returns true
is12HFormat('es_ES') // returns false
请注意,我不希望使用的管道来显示特定格式的时间,只是看看一个或另一个应该被使用。
编辑:
目前正在使用:
private guessIf12HTimeFormat(language: string): boolean {
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
const dateString = date.toLocaleTimeString(language);
return (!!dateString.match(/am|pm/i) || !!date.toString().match(/am|pm/i));
}
你的榜样作品被countryInfo一些预定义的硬编码的变量比较。我想要的是接收语言的函数,如果12H是预期格式,则返回true,如果是24H,则返回false。 就像我说的,没有兴趣用它来格式化时间字符串。 – marsop