2016-11-02 1 views
2

MomentJSは、フォーマットと計算のためのロケールを作成するために、複数の言語を供給することを可能にします。MomentJsのmeridiemsのリストを取得

一部の言語では2つ以上のメリジオムが使用され、ロケールにはare functions for returning lists of months/daysがあります。現在のロケールのmeridiemsのリストを返す方法はありますか?

24時間にわたるループの途切れで、毎時moment.localeData().meridiem(x)を呼び出し、ユニークなものを探すと、それに関するドキュメントが見つかったようです。誰かがこのリストを入手する方法を見つけたのですか、それとも私は彼らのギブスでリクエストしなければならないものですか?

+1

唯一の方法であるループのように、私はあなたがする以外の選択肢を持っているとは思わないルックスループ、分を含めて – Phil

+0

私はそうであったことを恐れていた。コードベースに何かがあって、誰もがロケールから値を取得することについて知っていたドキュメントにそれを作っていないかどうかは確かではありませんでした。 – haxxxton

答えて

2

1.6.0+にカスタマイズの機能バージョンを考えると

let fn = moment().locale('zh-cn').localeData().meridiem, 
 
    meridiems = new Set(); 
 
for (let hour = 0; hour < 24; hour++) { 
 
    for (let minute = 0; minute < 60; minute++) { 
 
    // get both upper and lower cases 
 
    meridiems.add(fn(hour, minute, true)); 
 
    meridiems.add(fn(hour, minute, false)); 
 
    } 
 
} 
 
console.log(Array.from(meridiems.values()));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/locale/zh-cn.js"></script>

+0

コードベースからいくつかのhail maryが表示されない限り、 – haxxxton

関連する問題