moment.js、曜日番号を取得する方法


99

瞬間日付オブジェクトがあり、選択した日番号(0-6)または(1-7)を取得したい。

私はこれを試しましたが、うまくいきません

var aaa = moment(date).day();

これで私を助けてください

回答:


141

「機能しない」を定義します。

const date = moment("2015-07-02"); // Thursday Feb 2015
const dow = date.day();
console.log(dow);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

期待どおり、これは「4」を出力します。


54
好奇心が強い人にとって、2015-07-02は木曜日でした。意味、0->日曜日。乾杯
Sharukh Mastan

13
ここで重要なのは、これがロケールに依存することです。ロケールが月曜日を週の初めとする国に設定されている場合、0は月曜日を意味します。- momentjs.com/docs/#/get-set/weekday
Kjellski

4
使用.isoWeekday()して必要なロケールに変換することをお勧めします。この答えは、マルチロケール環境で明示的ロケール制御する場合に適しています
Fr0zenFyr

92

1-7のアプローチを具体的に探している場合...

これは、ISO曜日番号。moment.jsもこれを考慮しています。使用するisoWeekday()

console.log(moment().isoWeekday()); // returns 1-7 where 1 is Monday and 7 is Sunday
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

私が火曜日にこの答えを書いたのを見て、今日これは私に2を与えます。


6
。これは、日曜日は0です。VARダウ=モーメント()isoWeekday()%7になり、また、1日目として日曜日とDOWを得るために、と付け加えた作品だ
Difinity


2

ドキュメントページから、これらの役立つヘッダーがあることに注意してください。

http://momentjs.com/docs/#/get-set/weekday/
(最初は表示されませんでした)

ヘッダーセクションあり:

  • 月の日
  • 曜日

  var now = moment();
  var day  = now.day();
  var date = now.date(); // Number

1

あなたはモーメントとJavascriptを使用して2つの方法でこれを得ることができます

const date = moment("2015-07-02"); // Thursday Feb 2015
const usingMoment_1 = date.day();
const usingMoment_2 = date.isoWeekday();

console.log('usingMoment: date.day() ==> ',usingMoment_1);
console.log('usingMoment: date.isoWeekday() ==> ',usingMoment_2);


const usingJS= new Date("2015-07-02").getDay();
console.log('usingJavaSript: new Date("2015-07-02").getDay() ===> ',usingJS);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.