259

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

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

与えてNaNいます。

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

これも反応しません。

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

変更なし: これは引き続き英語で結果を生成します。

これはどのように可能ですか?

4

22 に答える 22

56

最速の方法: Bower でインストールする

bower を使用して瞬間をインストールde.jsし、html プロジェクトで javascript リソースとしてリンクしました。

bower install moment --save

moment.jsおよび を手動でダウンロードすることもできますde.js

プロジェクトで「de.js」をリンクします

メイン プロジェクト ファイルをリンクde.jsすると、モーメント クラスとそのメソッドへのすべてのアクセスのロケールが自動的に変更されました。

ソース コードでor を実行する必要はもうありませんmoment.locale("de").moment.lang("de").

次のように、目的のロケールをリンクするだけです。

<script src="/bower_components/moment/moment.js"></script>
<script src="/bower_components/moment/locale/de.js"></script>

bower_componentsまたは、右クリックで moment.js 1990ies-style をダウンロードした場合は、パスなしでライブラリをリンクできます。これは、ほとんどのシナリオで引き続き正常に機能します。

于 2014-09-13T15:31:05.460 に答える
13

moment.lang(navigator.language)スクリプトに追加する必要があります。

また、表示する各国のロケールも追加する必要があります。たとえば、GB または FR の場合、そのロケール形式を moment.js ライブラリに追加する必要があります。このような形式の例は、momentjs のドキュメントで入手できます。この形式を moment.js に追加しないと、現在私が目にするのは米国ロケールのみであるため、常に米国ロケールが選択されます。

于 2014-07-01T21:24:34.500 に答える
6

METEOR ユーザー向け:

meteor にはデフォルトでロケールがインストールされていないため、デフォルトのインストールでは「en」ロケールしか取得できません。

したがって、他の回答で正しく示されているようにコードを使用します。

moment.locale('it').format('LLL');

ただし、必要なロケールをインストールするまでは英語のままです。

meteor ( rzymekによって提供されます) の瞬間に個々のロケールを追加する、すてきでクリーンな方法があります。

以下を使用して、通常の流星の方法で瞬間パッケージをインストールします。

meteor add rzymek:moment

次に、イタリア語など、必要なロケールを追加します。

meteor add rzymek:moment-locale-it

または、利用可能なすべてのロケールを本当に追加したい場合 (ページに約 30k 追加します):

meteor add rzymek:moment-locales
于 2015-05-05T13:31:00.140 に答える
6

瞬間2.18.1以降:

  moment.locale("de");
  var m = moment().format("LLL")
于 2017-07-21T08:36:08.927 に答える
3

momentjs 2.12+の場合、次のようにします。

moment.updateLocale('de');

moment.updateLocale(localeName, config)また、既存のロケールを変更するには を使用する必要があることに注意してください。moment.defineLocale(localeName, config)新しいロケールの作成にのみ使用してください。

于 2016-03-11T20:50:52.397 に答える
3
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>MomentJS</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <script type="text/javascript" src="moment.js"></script>
    <script type="text/javascript" src="locale/ne.js"></script>
</head>
<body>
    <script>
        jQuery(document).ready(function($) {
            moment.locale('en'); // default the locale to English
            var localLocale = moment();

            moment.locale('ne'); // change the global locale to Nepalese
            var ne1 = localLocale.format('LLLL');
            var ne2 = moment().format('LLLL');

            $('.ne1').text(ne1);
            $('.ne2').text(ne2);
        });
    </script>
    <p class="ne1"></p>
    <p class="ne2"></p>
</body>
</html>

デモ

于 2016-06-05T03:42:19.930 に答える
3

私は angular2-moment を使用していますが、使い方は似ているはずです。

import { MomentModule } from "angular2-moment";
import moment = require("moment");

export class AppModule {

  constructor() {
    moment.locale('ru');
  }
}
于 2017-01-09T10:06:43.500 に答える
1

おっとペンが滑る。私はこれを解決します: var moment = function(x) { return moment(x).locale('de'); }他の方法は、(私にとって)特定の条件下で実際に固執/保持しているようには見えません。

于 2015-12-03T20:34:03.203 に答える
0

最初に p5.js と moment-with-locales.js を呼び出してから、以下のようなコードを実行すると、結果が得られます。

この結果では、月の名前を別の言語で表示しています :)

コードを確認してください:

     var monthNameEnglish = moment().locale('en-gb').format('MMMM');
    document.getElementById('monthNameEnglish').innerHTML =  monthNameEnglish;
    
    
         var monthNameGerman = moment().locale('de').format('MMMM');
    document.getElementById('monthNameGerman').innerHTML =  monthNameGerman;
<!DOCTYPE html>
<html>
    <head>
        <title>P5.js and Moment.js</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.4/moment-with-locales.js"></script>
    
    <h3>English Version Month Name</h3>
    
    <p id="monthNameEnglish"></p>
    
    <h3> German Version Month Name</h3>
    
    <p id="monthNameGerman"></p>
        
    </head>
    <body>
    </body>
</html>

于 2021-01-21T04:03:47.150 に答える