如何转换为 UTC

Posted

技术标签:

【中文标题】如何转换为 UTC【英文标题】:How to Convert to UTC 【发布时间】:2011-03-15 15:48:41 【问题描述】:

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

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

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

【问题讨论】:

您是否将它们存储在 mysql 中?如果是这样,您可以使用 MySQL 的日期函数进行转换。 PHP 的日期函数非常有限,除非你的版本至少为 5.3.0。 是的,MySQL。我认为“2010 年 6 月 28 日星期一 12:39:52 +1200”会很好地转换,因为我有一个“+1200”偏移量。但是,“2010-06-25 15:33:00”似乎没用。能再解释一下吗? 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于如何转换为 UTC的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UTC 转换为 tzutc() 时区?

如何将特定时间转换为UTC时间戳[重复]

如何将时间从 UTC 转换为 EST?

如何使用 Perl 将纪元时间转换为 UTC 时间?

如何转换为 UTC

如何将UTC秒数转换为日期,100分,在线等