如何将此日期格式转换为unix时间

时间:2013-09-13 18:31:46

标签: php

我有这个日期表格

Thu, 12 Sep 2013 14:49:25 +0100

我正在考虑使用php内部函数strtotime。我试图拆分并重新定位每个字符串,但它是太多的线条。如果你有更好的方法来做到这一点。请告诉我。

提前谢谢。

4 个答案:

答案 0 :(得分:5)

你有正确的想法。坚持你的直觉:

<?php
  $mydate = 'Thu, 12 Sep 2013 14:49:25 +0100';
  $unixtime = strtotime($mydate);
  // If you want to display the time, uncomment the next line:
  //echo $unixtime;

:)

答案 1 :(得分:1)

只需将此传递给strtotime。

strtotime将日期转换为时间戳 date将时间戳转换回日期。

检查一下:

$timestamp = strtotime('Thu, 12 Sep 2013 14:49:25 +0100');
print $timestamp . "\n";
print date('l jS \of F Y h:i:s A', $timestamp);

输出:

1378993765
Thursday 12th of September 2013 01:49:25 PM

答案 2 :(得分:0)

strtotime 非常不可靠。您最好的选择是使用built-in DateTime object。不同之处在于您必须首先使用:

创建日期对象
$mydate = 'Thu, 12 Sep 2013 14:49:25 +0100';
$d = date_create_from_format('D, d M Y H:i:s P', $mydate);

然后以Unix格式将其输出:

$u = date_format($mydate, 'U');

答案 3 :(得分:0)

试试这个:

$ts = strptime ("%a, %d %b %Y %H:%M:%S %z") ; 
$ts = mktime($ts['tm_hour'], $ts['tm_min'], $ts['tm_sec'], $ts['tm_mon'] + 1, $ts['tm_mday'], $ts['tm_year'] + 1900);

%z无法在Windows上运行(请参阅http://php.net/strptime