言語を表す文字列(任意に国別情報)がある場合、その時間を12Hまたは24Hとして表示する必要があるかどうかをどのように知ることができますか?例えばAngular Localeから時刻形式(12/24)に関する情報を取得する方法は?
私はどちらか一方を使用する必要がある場合だけ見つける、特定の形式で時刻を表示するために、パイプを使用したくない
is12HFormat('en_EN') // returns true
is12HFormat('es_ES') // returns false
注意。
EDIT:
現在使用しては:
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が期待されるフォーマットなら真を返し、24Hなら偽を返す関数です。 私が言ったように、それを使用して時間文字列をフォーマットすることに興味はありません。 – marsop