[英]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 日写这篇文章时,它显示1
和3
,告诉我们 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.