我有这个日期表格
Thu, 12 Sep 2013 14:49:25 +0100
我正在考虑使用php内部函数strtotime。我试图拆分并重新定位每个字符串,但它是太多的线条。如果你有更好的方法来做到这一点。请告诉我。
提前谢谢。
答案 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)