moment.js, 요일 번호를 얻는 방법


100

순간 날짜 개체가 있고 선택한 날짜 번호 (0-6) 또는 (1-7)을 가져오고 싶습니다.

시도했지만 작동하지 않습니다

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

제발 도와주세요

답변:


143

"작동하지 않음"을 정의하십시오.

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"가 인쇄됩니다.


55
궁금하신 분들에게 2015-07-02는 목요일이었습니다. 의미, 0-> 일요일. 건배
Sharukh Mastan

13
여기서 중요한 점은 이것이 로케일에 따라 다르다는 것입니다. 로케일이 월요일이 시작되는 국가로 설정된 경우 0은 월요일을 의미합니다. - momentjs.com/docs/#/get-set/weekday
Kjellski

4
사용 .isoWeekday()하고 필요한 로케일로 변환하는 것이 더 나은 선택입니다. 이 대답은 다중 로케일 환경에서 명시 적으로 로케일제어하는 경우 좋습니다.
Fr0zenFyr

95

특별히 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를 제공합니다.


7
또한 일요일이 1 일인 DOW를 얻으려면 일요일이 0 인 경우 var dow = moment (). isoWeekday () % 7이됩니다.
Difinity

23

나는 이것이 작동 할 것이라고 생각한다

moment().weekday(); //if today is thursday it will return 4

2

문서 페이지에서 유용한 헤더가 있는지 확인하세요.

http://momentjs.com/docs/#/get-set/weekday/
(처음에는 보지 못함)

다음에 대한 헤더 섹션 포함 :

  • 날짜
  • 요일
  • 기타

.

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

1

moment와 Javascript를 사용하여 두 가지 방법으로 얻을 수 있습니다.

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.