4

我从各种来源获取日期和时间(例如,来自 FTP 服务器的文件的日期/时间、收到的电子邮件的日期/时间等),并且需要将它们全部存储为 UTC(因此它们都有一个共同的参考)。我该怎么做呢?为了正确进行转换,我需要哪些信息。

这适用于 PHP Web 应用程序。所以,我可以得到我的服务器的时区。我不确定下一步该怎么做。以下是一些示例输入:

  1. 2010 年 6 月 28 日星期一 12:39:52 +1200
  2. 2010-06-25 15:33:00
4

2 回答 2

3

您可以使用strtotime()将您拥有的任何时间格式转换为时间戳,然后使用任何函数(可能date())将其放入您希望存储所有内容的格式。

于 2010-07-14T03:01:20.350 回答
3

对于第一种情况,偏移量在那里,所以它应该是微不足道的,但是第二个例子将被视为 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 时区的对应时间的时间戳。

于 2010-07-14T03:02:30.297 回答