1. ホーム
  2. ジャバスクリプト

[解決済み] [Solved] moment.jsの言語を変更するには?

2022-04-03 09:12:15

質問

moment.jsで設定されている日付の言語を変更しようとしています。デフォルトは英語ですが、ドイツ語を設定したいのです。以下は私が試したことです。

var now = moment().format("LLL").lang("de");

を与えています。 NaN .

var now = moment("de").format("LLL");

これでは反応すらしない。

var now = moment().format("LLL", "de");

変更なし:これはまだ英語で結果を生成しています。

どうしてこんなことが可能なのでしょうか?

どのように解決するのですか?

を使用する必要があります。 警告 : lang() は非推奨です。 2.8.0 を使用します。 locale() を使用します)。

moment.lang("de").format('LLL');

http://momentjs.com/docs/#/i18n/


v2.8.1時点のものです。 moment.locale('de') はローカライゼーションを設定しますが、その際に moment . いくつかの例を挙げます。

var march = moment('2017-03')
console.log(march.format('MMMM')) // 'March'

moment.locale('de') // returns the new locale, in this case 'de'
console.log(march.format('MMMM')) // 'March' still, since the instance was before the locale was set

var deMarch = moment('2017-03')
console.log(deMarch.format('MMMM')) // 'März'

// You can, however, change just the locale of a specific moment
march.locale('es')
console.log(march.format('MMMM')) // 'Marzo'

まとめると locale をグローバルな moment は、将来のすべての moment のインスタンスを返します。 moment . 呼び出し locale をインスタンスに設定すると、そのインスタンスに設定され、そのインスタンスが返されます。

また、Shivがコメントで言っているように、"moment-with-locales.min.js"ではなく、"moment.min.js"を使うようにしてください、さもないと動きません。