moment.js วิธีรับหมายเลขวันในสัปดาห์


104

ฉันมีวัตถุช่วงเวลาและต้องการรับหมายเลขวันที่เลือก (0-6) หรือ (1-7)

ฉันลองแล้ว แต่มันไม่ได้ผล

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

โปรดช่วยฉันด้วย

คำตอบ:


147

กำหนด "ใช้งานไม่ได้"

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" ตามที่คาดไว้


58
สำหรับผู้ที่อยากรู้อยากเห็น 2015-07-02 เป็นวันพฤหัสบดี ความหมาย 0 -> วันอาทิตย์ ไชโย
Sharukh Mastan

14
ประเด็นสำคัญคือนี่ขึ้นอยู่กับสถานที่หากสถานที่ของคุณตั้งค่าเป็นประเทศที่มีวันจันทร์เป็นวันเริ่มต้นของสัปดาห์ 0 หมายถึงวันจันทร์ - momentjs.com/docs/#/get-set/weekday
Kjellski

5
การใช้.isoWeekday()แล้วแปลงเป็นภาษาที่ต้องการเป็นทางเลือกที่ดีกว่า คำตอบนี้ใช้ได้ดีถ้าคุณควบคุมโลแคลอย่างชัดเจนในสภาพแวดล้อมแบบหลายโลแคล
Fr0zenFyr

97

หากคุณกำลังมองหาแนวทาง 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
นอกจากนี้ยังเพิ่มว่าเพื่อให้ได้ DOW กับวันอาทิตย์เป็นวันที่ 1 จะเป็น var dow = moment () isoWeekday ()% 7 โดยที่วันอาทิตย์เป็น 0
Difinity


2

จากหน้าเอกสารสังเกตว่ามีส่วนหัวที่เป็นประโยชน์เหล่านี้

http://momentjs.com/docs/#/get-set/weekday/
(ตอนแรกไม่เห็น)

มีส่วนหัวสำหรับ:

  • วันที่ของเดือน
  • วันของสัปดาห์
  • ฯลฯ

.

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

1

คุณสามารถรับสิ่งนี้ได้ 2 ทางโดยใช้ช่วงเวลาและใช้ 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.