Javascript 这个JS时间代码会工作吗?我能做得更好吗?

Javascript 这个JS时间代码会工作吗?我能做得更好吗?,javascript,datetime,function,utc,Javascript,Datetime,Function,Utc,我在周六下午6点到周日凌晨4点之间显示一条消息。上一次我不得不这样做时,它不起作用,因为我没有考虑UTC时间变为负值时,它改为纽约时间 我算对了(在适当的时间显示)?我应该将UTC转换代码放入它自己的函数中吗?这是你见过的最差的js吗? --jquery被称为-- $(文档).ready(函数(){ var day=新日期(); var day=day.getUTCDay(); var hour=日间。getUTCHours(); //警报(day.toString()+“”+hour.toSt

我在周六下午6点到周日凌晨4点之间显示一条消息。上一次我不得不这样做时,它不起作用,因为我没有考虑UTC时间变为负值时,它改为纽约时间

我算对了(在适当的时间显示)?我应该将UTC转换代码放入它自己的函数中吗?这是你见过的最差的js吗?

--jquery被称为--

$(文档).ready(函数(){
var day=新日期();
var day=day.getUTCDay();
var hour=日间。getUTCHours();
//警报(day.toString()+“”+hour.toString());
如果(小时>=5){
小时=小时-5;
}
否则{
小时=小时+19;
如果(天>0){
天——;
}
否则{
日=6;
}
}
//警报(day.toString()+“”+hour.toString());
如果((天==6小时>=18)| |(天==0小时<4)){
}
否则{
$(“#警告”).hide();//希望此消息显示js是否也被禁用
}
});

为什么你甚至需要UTC的东西?只需使用当地时间:

var day = dayTime.getDay();
var hour = dayTime.getHours();
你也可以稍微清理一下这个条件:

if (!(day == 6 && hour >= 18) && !(day == 0 && hour < 4)) {
    $('#warning').hide();
}
如果(!(天==6和小时>=18)和(!(天==0和小时<4)){
$(“#警告”).hide();
}

这将为您节省服务器的时间:

var dayTime = new Date();
localOffset = dayTime.getTimezoneOffset() * 60000;
serverOffset = 5 * 60 * 60000;
dayTime = new Date(dayTime.getTime() + (localOffset - serverOffset));
在服务器偏移量中使用“5”;时间到了。它可能需要是a-5;我不太确定


而且,这将打破每一个夏令时。您必须以某种方式检测并修改serverOffset。

我们有国际用户,因此我认为维护是EDT,我需要对此进行说明,因为当地时间将是他们的当地时间。感谢有条件的帮助。我希望从其他人那里得到更多关于脚本的反馈,但是这很有帮助,所以谢谢!
var dayTime = new Date();
localOffset = dayTime.getTimezoneOffset() * 60000;
serverOffset = 5 * 60 * 60000;
dayTime = new Date(dayTime.getTime() + (localOffset - serverOffset));