gpt4 book ai didi

javascript - Moment.js 如何获得一个月的星期几? (谷歌日历风格)

转载 作者:可可西里 更新时间:2023-11-01 01:27:07 24 4
gpt4 key购买 nike

我正在使用 Moment.js,它很棒。我现在遇到的问题是我无法弄清楚如何获得某个日期所在的月份的星期几。我只能在 Moment js 文档中找到“一年中的一周”。例如,如果我选择今天的日期 (2/12/2014),我想知道这个日期是在 2 月的第二周,因此,它是该月的第二个星期三。有什么想法吗?

编辑:我想有些澄清是必要的。我最需要的是一个月中某一天的第n个数字。例如,(来自评论)2014 年 2 月 1 日将是该月的第一个星期六。 2014 年 2 月 3 日将是该月的第一个星期一,尽管它在“技术上”是该月的第二周。基本上,谷歌日历的重复功能是如何对日期进行分类的。

最佳答案

似乎 moment.js 没有实现您正在寻找的功能的方法。但是,您可以使用 date/7Math.ceil 找到一个月中某一天的第 n 个数字例如:

var firstFeb2014 = moment("2014-02-01"); //saturday
var day = firstFeb2014.day(); //6 = saturday
var nthOfMoth = Math.ceil(firstFeb2014.date() / 7); //1

var eightFeb2014 = moment("2014-02-08"); //saturday, the next one
console.log( Math.ceil(eightFeb2014.date() / 7) ); //prints 2, as expected

看起来这就是您要查找的数字,如下面的测试所示

function test(mJsDate){
var str = mJsDate.toLocaleString().substring(0, 3) +
" number " + Math.ceil(mJsDate.date() / 7) +
" of the month";
return str;
}

for(var i = 1; i <= 31; i++) {
var dayStr = "2014-01-"+ i;
console.log(dayStr + " " + test(moment(dayStr)) );
}

//examples from the console:
//2014-01-8 Wed number 2 of the month
//2014-01-13 Mon number 2 of the month
//2014-01-20 Mon number 3 of the month
//2014-01-27 Mon number 4 of the month
//2014-01-29 Wed number 5 of the month

关于javascript - Moment.js 如何获得一个月的星期几? (谷歌日历风格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com