【发布时间】:2021-12-27 20:10:17
【问题描述】:
我希望根据客户所在时区是白天还是黑夜来创建一个具有不同 UI 的网站。现在我有这个基于我在互联网上找到的代码:
const hours = new Date().getHours()
const isDayTime = hours > 6 && hours < 20
if (isDayTime === True){
//do this...
}
但问题是每个时区的日出和日落都不一样,而且它会随着季节的变化而变化,所以将 6 到 20 点视为我的白天时间是错误的(因为它可能是冬天 20 点之前的夜间时间)。
有没有办法根据客户端时区获取白天时间或夜间时间?
【问题讨论】:
-
这可能会有所帮助:sunrise-sunset.org/api
-
日出/日落时间即使在同一时区也不同,您需要客户的经纬度位置来计算日出/日落时间。
-
时区是经度,因此(大部分)与日出无关,因为它基于纬度。即在特定的一天,格林威治标准时间的某人将在上午 8 点日出,而某人在同一纬度,但在东部标准时间也将在上午 8 点(他们的当地时间)日出(根据确切的时间给予或花费几分钟它们在时区的哪个位置)
-
谢谢@RandyCasburn
-
谢谢@freedomn-m
标签: javascript jquery time timezone