JavaScriptでDateTimeをフォーマットするための便利で柔軟な方法はIntl.DateTimeFormat
次のとおりです。
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
結果は: "12-Oct-2017"
日付と時刻の形式は、options引数を使用してカスタマイズできます。
Intl.DateTimeFormat
オブジェクトは、言語に敏感な日付と時刻のフォーマットを有効にするオブジェクトのコンストラクタです。
構文
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
パラメーター
ロケール
オプション。BCP 47言語タグを含む文字列、またはそのような文字列の配列。ロケール引数の一般的な形式と解釈については、Intlページを参照してください。次のUnicode拡張キーを使用できます。
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
オプション
オプション。次のプロパティの一部またはすべてを持つオブジェクト:
localeMatcher
使用するロケールマッチングアルゴリズム。可能な値は"lookup"
および"best fit"
です。デフォルトは"best fit"
です。このオプションの詳細については、Intlページを参照してください。
timeZone
使用するタイムゾーン。実装が認識しなければならない唯一の値は"UTC"
です。デフォルトはランタイムのデフォルトのタイムゾーンです。実装はまたなど、IANAタイムゾーンデータベースのタイムゾーン名を認識することができます"Asia/Shanghai"
、"Asia/Kolkata"
、"America/New_York"
。
時間12
(24時間制ではなく)12時間制を使用するかどうか。可能な値はtrue
およびfalse
です。デフォルトはロケールに依存します。
formatMatcher
使用するフォーマットマッチングアルゴリズム。可能な値は"basic"
および"best fit"
です。デフォルトは"best fit"
です。このプロパティの使用については、次の段落を参照してください。
次のプロパティは、フォーマットされた出力で使用する日時コンポーネントとその望ましい表現を示しています。実装は、少なくとも以下のサブセットをサポートする必要があります。
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
実装は他のサブセットをサポートする場合があり、リクエストは、最適な一致を見つけるために、利用可能なすべてのサブセットと表現の組み合わせに対してネゴシエートされます。このネゴシエーションには2つのアルゴリズムが利用可能であり、formatMatcherプロパティによって選択されます。完全に指定された"basic"
アルゴリズムと実装に依存する「最適な」アルゴリズムです。
平日
平日の表現。可能な値は"narrow"
、"short"
、"long"
。
時代
時代の表現。可能な値は"narrow"
、"short"
、"long"
。
年
年の表現。可能な値は"numeric"
、"2-digit"
です。
月
月の表現。可能な値は"numeric"
、"2-digit"
、"narrow"
、"short"
、"long"
。
日
日の表現。可能な値は"numeric"
、"2-digit"
です。
時間
時間の表現。可能な値は"numeric"
、"2-digit"
です。
分
分の表記。可能な値は"numeric"
、"2-digit"
です。
二番目
秒の表現。可能な値は"numeric"
、"2-digit"
です。
timeZoneName
タイムゾーン名の表現。可能な値は"short"
、"long"
です。各日時コンポーネントプロパティのデフォルト値は未定義ですが、すべてのコンポーネントプロパティが未定義の場合、年、月、日はと見なされます"numeric"
。
オンラインでチェック
もっと詳しく