我从各种来源获取日期和时间(例如,来自 FTP 服务器的文件的日期/时间、收到的电子邮件的日期/时间等),并且需要将它们全部存储为 UTC(因此它们都有一个共同的参考)。我该怎么做呢?为了正确进行转换,我需要哪些信息。
这适用于 PHP Web 应用程序。所以,我可以得到我的服务器的时区。我不确定下一步该怎么做。以下是一些示例输入:
- 2010 年 6 月 28 日星期一 12:39:52 +1200
- 2010-06-25 15:33:00
您可以使用strtotime()
将您拥有的任何时间格式转换为时间戳,然后使用任何函数(可能date()
)将其放入您希望存储所有内容的格式。
对于第一种情况,偏移量在那里,所以它应该是微不足道的,但是第二个例子将被视为 UTC(或任何其他默认时区)。这就是我的建议:
date_default_timezone_set('UTC'); // set default timezone
$one = strtotime('Mon, 28 Jun 2010 12:39:52 +1200');
$two = strtotime('2010-06-25 15:33:00'); // Already UTC? Must be...
$one
并将$two
保存转换为 UTC 时区的对应时间的时间戳。