moment.js,如何获取星期几

Posted

技术标签:

【中文标题】moment.js,如何获取星期几【英文标题】:moment.js, how to get day of week number 【发布时间】:2015-09-19 22:09:14 【问题描述】:

我有一个时刻日期对象,并且想要获取选定的日期编号 (0-6) 或 (1-7)。

我试过了,还是不行

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

请帮帮我

【问题讨论】:

【参考方案1】:

定义“不起作用”。

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”。

【讨论】:

对于那些好奇的人来说,2015-07-02 是星期四。含义,0 -> 星期日。干杯 这里的重要一点是,这取决于区域设置,如果您的区域设置设置为将星期一作为一周开始的国家/地区,则 0 表示星期一。 - momentjs.com/docs/#/get-set/weekday 使用.isoWeekday() 然后转换为所需的语言环境是更好的选择。如果您在多语言环境中control the locale explicitly,这个答案很好【参考方案2】:

在文档页面中,请注意它们有这些有用的标题

http://momentjs.com/docs/#/get-set/weekday/(一开始没看到)

标题部分用于:

月份日期 星期几 等

.

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

【讨论】:

【参考方案3】:

我认为这会起作用

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

【讨论】:

工作日是区域设置,星期四可能是 3,具体取决于设置的区域设置。见momentjs.com/docs/#/get-set/weekday【参考方案4】:

如果您专门寻找 1-7 方法...

这是ISO weekday number。 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。

【讨论】:

还可以添加,以周日为第 1 天获取 DOW,将是 var dow = moment().isoWeekday() % 7,其中周日为 0。【参考方案5】:

您可以通过 Moment 和 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>

【讨论】:

以上是关于moment.js,如何获取星期几的主要内容,如果未能解决你的问题,请参考以下文章

如何使用moment-timezone.js获取客户端时区

moment.js(moment-in-node.js)获取本月最后一天 不指定

如何使用 moment.js 获取日期范围

java中如何获取日期时间中的星期几?

如何在 moment.js 中绕过冬季时间的转换

如何使用 MonthCalendar 获取“星期几”?