Javascript 使用js显示日期,具体取决于该月的最后一天
我无法显示正确的日期。如果今天是这个月的最后一天,时间是晚上20:00或更多,我想显示tommorow date 我已经试过了,但是没有任何效果Javascript 使用js显示日期,具体取决于该月的最后一天,javascript,jquery,Javascript,Jquery,我无法显示正确的日期。如果今天是这个月的最后一天,时间是晚上20:00或更多,我想显示tommorow date 我已经试过了,但是没有任何效果 function isLastDay(dt) { return new Date(dt.getTime() + 86400000).getDate() === 1; } 功能转换日{ var d=新日期; d、 setHoursd.getHours+d.getTimezoneOffset/60+3; d、 设定日期31; d、 se
function isLastDay(dt) {
return new Date(dt.getTime() + 86400000).getDate() === 1;
}
功能转换日{
var d=新日期;
d、 setHoursd.getHours+d.getTimezoneOffset/60+3;
d、 设定日期31;
d、 setHours20;
var day=d.getDate;
var hrs=d.getHours;
var min=d.getMinutes;
var sec=d.getSeconds;
var dayString='today';
var mnt=新阵列1月、2月、3月、4月、5月、,
六月、七月、八月、九月、十月、十一月、十二月;
var lastday=new Datenew Date.getFullYear,new Date.getMonth+1,0.getDate;
如果hrs==19&&min>45 | | hrs>19{
天=天+1;
dayString='明天';
}
如果日期===最后一天{
$.start-web.htmlday++mnt[d.getMonth+1,0];
}否则{
$.start-web.htmlday++mnt[d.getMonth];
}
$.start-web-d.htmldayString;
}
setIntervalchangeDay,1000;
开始
20:00
我看到你有lastday变量,但我看不出你是如何使用它的。您需要进行一些检查,以查看当前日期是否为31日。此逻辑应该就是您所需要的:如果明天是第1天,那么今天是一个月的最后一天,如果date getHours方法返回20或更大,您应该已经满足了您的条件 const dt=新日期; const明天=new Datedt.getTime+60*60*24*1000.getDate; 如果明天===1&&dt.getHours>=20{ console.log“符合标准!”; }否则{ console.logdt,明天; } 只需将===运算符更改为>= 解释 在这一行之前:
if (((hrs == 19) && (min > 45)) || (hrs > 19))
您的日值是31,然后它将日值加1,因为条件满足,所以在if-else范围之后,日值是32
然后比较32天和31天的最后一天,因此不符合条件,而是显示为1月32日。一个月的最后一天晚上20:00与一个月的第一天相同-4小时我们可以使用它创建一个函数来检查我们是否超过了该日期:
function lastMinus4(){
let now = new Date();
let lastM4 = new Date(now.getFullYear(), now.getMonth() + 1, 1, -4);
return (now > lastM4);
}
now变量是当前日期和时间,lastM4是当前年份,当前月份+1是下个月,1是该月的第一天,-4是过去的4小时,是该月的最后一天晚上20:00。另一种方法是使用day作为-1,并将hour设置为20
在上面的日期构造函数中,您使用0作为上个月的最后一天,因此只需在构造函数末尾为小时添加20,您现在就有时间进行检查。如果小时在条件范围内,则将1作为整数添加到日期。不要那样做。改为在Date对象中添加一天。谢谢你,你的回答对我帮助很大!
function lastMinus4(){
let now = new Date();
let lastM4 = new Date(now.getFullYear(), now.getMonth() + 1, 1, -4);
return (now > lastM4);
}