在PHP脚本/Web应用程序中,我需要花任何历史时间和日期,然后将其转换为GMT或UTC。我会知道与每个时间和日期相关的纬度和经度坐标,所以也许我可以从那以某种方式得出时区。
我模糊地意识到了Olson或" TZ"数据库,但我不确定该数据库可用于编程审讯多远,或者将其纳入PHP5的范围可以回答我的任务。
我了解,此TZ数据库仅在1970年之后才真正准确,并且它可以近似早期日期。如果方法可能在1970年之前可能是错误的时间,那么也许至少我可以标记这样的案例。
首先,使用此处列出的一种方法获取lat/lon提供的TZ数据库标识符。
然后,如果日期由TZDB覆盖,则可以使用内置的PHP方法进行转换。如果这些失败,那么您有两个选择:
-
您可以从TZDB使用该时区使用本地平均时间(LMT(值,用于具有它们的条目。
-
您可以使用经度来计算确切位置的本地太阳时间。
任何一个选项都将在给定时间对当地时间实际保存在该位置的方式进行宏伟的假设。