繁体   English   中英

下个月的 JS 获取日开始于

[英]JS Get day next month starts on

我怎样才能得到下个月开始的那一天? (周一周二等)。

我尝试了以下方法,但它返回的不仅仅是一天。

 var date = new Date(), y = date.getFullYear(), m = date.getMonth(); var firstDay = new Date(y, m, 1); var lastDay = new Date(y, m + 1, 0);

您快到了,只需在最后一行代码之后添加即可获得当天的名称

var dayName = lastDay.toLocaleDateString('en-us', { weekday: 'long' }); 

还要记住Date构造函数的第二个参数是monthIndex MDN

您应该将m加 1 以获得下个月的第一天,并将其添加 2 并提供date = 0以获得下个月的最后一天。

 var date = new Date(), y = date.getFullYear(), m = date.getMonth(); var firstDay = new Date(y, m + 1, 1); var lastDay = new Date(y, m + 2, 0); var firstDayName = firstDay.toLocaleDateString('en-us', { weekday: 'long' }); var lastDayName = lastDay.toLocaleDateString('en-us', { weekday: 'long' }); console.log(firstDayName, lastDayName)

您当前的代码正在获取当月第一天和最后一天的Date实例。 所以首先你需要解决这个问题。 然后,如果您想要日期编号,则必须调用getDay来获取值(0 = 星期日到 6 = 星期六):

 const today = new Date(); const year = today.getFullYear(); const month = today.getMonth() + 1; // + 1 = next month const firstDay = new Date(year, month, 1).getDay(); const lastDay = new Date(year, month + 1, 0).getDay(); console.log({firstDay, lastDay});

当我在 7 月 31 日写这篇文章时,它显示13 ,告诉我们 2022 年 8 月从星期一开始,到星期三结束。

我刚刚取了当前日期并得到了本月的第一天。 然后我们只是将其转换为字符串。 它正在工作。 尝试这个:

 const date = new Date(); // current date 1/8/2022 const nextMonth = new Date(date.getFullYear(), date.getMonth() + 1, 1); //first day of next month const nextMonthStartDay = nextMonth.toLocaleDateString('en-US', { weekday: 'long' }); //convert to date string console.log(nextMonthStartDay) //Thursday

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM