根据周数拆分一个月。 JS
Splitting up a month based on number of weeks. JS
我正在做一个项目,我需要在其中找到哪几天是假期,并显示这些假期的特定消息。
有些假期,比如圣诞节,就是 12 月 25 日。但对于其他假期,比如感恩节,有点棘手,因为它是 11 月的第 4 个星期四。
我使用的方法是拆分哪一周。
day = moment()
month = day.month() + 1
weeknum = Math.floor((day - 1) / 7) + 1
holiday2 = month + "/" + weeknum + "/" + day
今天恰好是哥伦布日,所以根据我的情况,应该是“10/2/1”。第 10 个月,第 2 周,第 1 天。 (10/12)。我遇到的问题是我现在的假期 2,我得到:
10/206381035675/1444667249719
所以...我知道技术上我很接近,因为我看到了“10/2/1”,但我得到了非常大的异常数字。
我的问题是2折。我将如何压缩数字,而不是得到 10 位数字的响应,而只得到我需要的 1 位或两位数?
是否有更好的方法来解决这个问题?
moment()
returns 一个日期对象。您需要获得类似于您已经获得月份的日期。 You can do this using .date()
.
day = moment();
month = day.month() + 1;
date = day.date();
weeknum = Math.floor((date - 1) / 7) + 1;
holiday2 = month + "/" + weeknum + "/" + date;
由于日期转换为整数的方式,您当前的解决方案不起作用。具体来说,它们存储为 number of milliseconds since 1970/01/01.
This answer 建议获取周数的最佳方法:
var weeknum = Math.ceil(date / 7);
我正在做一个项目,我需要在其中找到哪几天是假期,并显示这些假期的特定消息。
有些假期,比如圣诞节,就是 12 月 25 日。但对于其他假期,比如感恩节,有点棘手,因为它是 11 月的第 4 个星期四。
我使用的方法是拆分哪一周。
day = moment()
month = day.month() + 1
weeknum = Math.floor((day - 1) / 7) + 1
holiday2 = month + "/" + weeknum + "/" + day
今天恰好是哥伦布日,所以根据我的情况,应该是“10/2/1”。第 10 个月,第 2 周,第 1 天。 (10/12)。我遇到的问题是我现在的假期 2,我得到:
10/206381035675/1444667249719
所以...我知道技术上我很接近,因为我看到了“10/2/1”,但我得到了非常大的异常数字。
我的问题是2折。我将如何压缩数字,而不是得到 10 位数字的响应,而只得到我需要的 1 位或两位数?
是否有更好的方法来解决这个问题?
moment()
returns 一个日期对象。您需要获得类似于您已经获得月份的日期。 You can do this using .date()
.
day = moment();
month = day.month() + 1;
date = day.date();
weeknum = Math.floor((date - 1) / 7) + 1;
holiday2 = month + "/" + weeknum + "/" + date;
由于日期转换为整数的方式,您当前的解决方案不起作用。具体来说,它们存储为 number of milliseconds since 1970/01/01.
This answer 建议获取周数的最佳方法:
var weeknum = Math.ceil(date / 7);