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,如何获取星期几的主要内容,如果未能解决你的问题,请参考以下文章