2010-07-14 52 views
4

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

这是一个PHP web应用程序。所以,我可以得到我的服务器的时区。我不确定接下来要做什么。下面是一些采样输入:

  1. 星期一,2010年6月28日12时39分52秒+ 1200
  2. 2010-06-25十五时33分00秒
+0

你在MySQL中存储它们吗?如果是这样,你可以使用MySQL的日期函数来完成转换。 PHP的日期函数是相当有限的,除非你至少有5.3.0版本。 – 2010-07-14 02:59:17

+0

是的,MySQL。我在想,“Mon,28 Jun 2010 12:39:52 +1200”会很好地转换,因为我有一个“+1200”偏移量。但是,“2010-06-25 15:33:00”似乎没用。 你能解释一下吗? – StackOverflowNewbie 2010-07-14 03:14:54

回答

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时区的时间对应的时间戳。

3

您可以使用strtotime()转换什么你可以使用时间格式,然后使用任何函数,可能是date(),把它放在希望存储的所有格式中。