1

我有这个日期表格

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

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

先感谢您。

4

4 回答 4

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;

:)

于 2013-09-13T18:35:01.363 回答
1

只需将其传递给 strtotime。

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

检查这个:

$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
于 2013-09-13T18:37:21.993 回答
0

strtotime非常不可靠。您绝对最好的选择是使用内置的 DateTime 对象。不同之处在于您必须先创建一个日期对象:

$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');
于 2013-09-13T18:41:47.577 回答
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

于 2013-09-13T18:53:00.830 回答