Javascript JS&;PHP日期/时间(夏令时)

Javascript JS&;PHP日期/时间(夏令时),javascript,php,jquery,angularjs,datetime,Javascript,Php,Jquery,Angularjs,Datetime,好的,这里有几个问题都与JS&PHP处理不同时区日期的方式有关 现在,我的印象是JS使用客户端系统时间,然而,我在英国,当前时间是21:12,但是JSnew Date()函数显示20:12。现在是夏时制了。 我的第一个问题是: JS能否检测时区并相应地调整时间?我的应用程序将在多个国家/地区使用,日期的使用是一种检查,以查看上次搜索是何时完成的,并检查此后是否添加了任何新结果 我的第二个问题是,如果上面的内容太难/太复杂,我可以在服务器端用PHP进行处理。当前,JS将时间作为unix时间戳传递,

好的,这里有几个问题都与JS&PHP处理不同时区日期的方式有关

现在,我的印象是JS使用客户端系统时间,然而,我在英国,当前时间是21:12,但是JS
new Date()
函数显示20:12。现在是夏时制了。 我的第一个问题是:

JS能否检测时区并相应地调整时间?我的应用程序将在多个国家/地区使用,日期的使用是一种检查,以查看上次搜索是何时完成的,并检查此后是否添加了任何新结果


我的第二个问题是,如果上面的内容太难/太复杂,我可以在服务器端用PHP进行处理。当前,JS将时间作为unix时间戳传递,然后PHP将其转换为MYSQL时间以查询数据库。那么,在PHP中可以做些什么来确保向查询传递正确的时间呢

JS可以检测本地时间。你可以用 Date().getTimezoneOffset() 计算UTC和当地时间之间的时区差


您可以阅读更多有关它的信息

建议在GMT使用UNIX时间戳,但不包括显示和使用MomentJS库来帮助进行任何格式设置、解析或计算。时区是一个巨大的PITA,准确确定历史上某个特定点的本地时间取决于用于保持时间的机制时间、日历类型以及该地区的DST规则(由于没有任何全球/国际机构规定这些规则,因此差异极大)。有解决这些问题的数据库,但除非它是一个巨大的优先事项/问题,否则可能不值得进入那罐蠕虫。您在DST中看到的错误可能是特定系统设置或自编程后更改的DST规则的问题。(不得不发泄)我完全理解。我已经看了很久了,试着想办法等等。你可以想象,在这种情况下,我确实需要准确的时间,因为根据表中创建的日期(似乎存储正确),只有新项目从数据库返回,这很关键。我可能不得不在拉雷维尔四处挖掘,看看它是如何设置正确的时间的。是的,就像我个人最初说的那样,我把所有东西都放在格林尼治标准时间,以便于存储,并一直保存到需要显示为止,从技术上讲,这应该可以解决问题,但在显示日期和计算出记录时间的准确时间方面,考虑到DST时间(在制作时间戳时),您需要开始依赖图书馆/数据库/服务来找出正确答案。就现在之前发生的X或过去格林尼治标准时间的Y分钟而言,一切正常。