Javascript 计算日落和日出时间后确定白天还是黑夜

Javascript 计算日落和日出时间后确定白天还是黑夜,javascript,jquery,Javascript,Jquery,我已经根据用户位置成功地计算了日出和日落时间,并将小时和分钟存储在一个数组中。所以小时是第0个元素,分钟是第一个元素,看起来像是var sunrise=[09,23]和var日落=[20,49] 我想做的是在黎明时做一些事情,然后在白天做一些单独的事情,然后在黄昏时做一些单独的事情,晚上做一些单独的事情。现在,我想提醒大家这是一天中的哪一段时间 我把黎明定义为日出前1小时到日出后1小时。白天介于黎明和黄昏之间。日落前1小时至日落后1小时的黄昏。而夜晚则介于黄昏和黎明之间,或者更简单地说是其他任何

我已经根据用户位置成功地计算了日出和日落时间,并将小时和分钟存储在一个数组中。所以小时是第0个元素,分钟是第一个元素,看起来像是
var sunrise=[09,23]
var日落=[20,49]

我想做的是在黎明时做一些事情,然后在白天做一些单独的事情,然后在黄昏时做一些单独的事情,晚上做一些单独的事情。现在,我想提醒大家这是一天中的哪一段时间

我把黎明定义为日出前1小时到日出后1小时。白天介于黎明和黄昏之间。日落前1小时至日落后1小时的黄昏。而夜晚则介于黄昏和黎明之间,或者更简单地说是其他任何事物

我试着用下面的if语句来做这件事,但即使日出和日落是正确的,它也会说是夜间的黄昏

if(hours>(sunset[0]-1) && (hours<=sunset[0]+1 && minutes<=sunset[1])){
    alert("dusk");
}
else if(hours>(sunrise[0]-1) && (hours<=sunrise[0]+1 && minutes<=sunrise[1])){
    alert("dawn");
}
else if((hours>sunrise[0]+1 || (hours===sunrise[0]+1 && minutes>sunrise[1])) && (hours<sunset[0]-1) || (hours===sunset[0]-1 && minutes<sunset[1])){
    alert("day");
}
else if(hours>sunset[0]+1 || (hours === sunset[0]+1 && minutes>sunset[1]) && (hours<sunrise[1]-1 || (hours===sunrise[1]-1 && minutres<sunrise[1]))){
    alert("night");
}
else{
    alert("night"); 
}

如果(小时>(日落[0]-1)和&(小时我认为,您应该将时间转换为分钟,如下所示:

var sunrise_m = sunrise[0] * 60 + sunrise[1]
然后测试您的条件:

var sunrise = [09, 23]
var sunset = [20, 49]

var sunrise_m = sunrise[0] * 60 + sunrise[1]
var sunset_m = sunset[0] * 60 + sunset[1]

var now = new Date()
var now_m = now.getHours() * 60 + now.getMinutes()

if (now_m > sunset_m - 60 && now_m <= sunset_m + 60) {
    alert("dusk")
} else if (now_m > sunrise_m - 60 && now_m <= sunrise_m + 60) {
    alert("dawn")
} else if (now_m > sunrise_m + 60 && now_m <= sunset_m - 60) {
    alert("day")
} else {
    alert("night")
}
var-sunrise=[09,23]
var日落=[20,49]
var sunrise_m=日出[0]*60+日出[1]
var sunset_m=日落[0]*60+日落[1]
var now=新日期()
var now_m=now.getHours()*60+now.getMinutes()
如果(now_m>sunset_m-60&&now_m Sunsire_m-60&&now_m Sunsire_m+60&&now_m