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

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

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

  1. 2010 年 6 月 28 日星期一 12:39:52 +1200
  2. 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”似乎没用。能再解释一下吗?

标签: php datetime utc gmt


【解决方案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 时区的对应时间的时间戳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多