如何转换为 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的主要内容,如果未能解决你的问题,请参考以下文章