将此字符串转换为PHP的时间戳

时间:2013-10-13 15:26:42

标签: php timestamp strtotime date-conversion

我有这个字符串:“13/10 15:00”我希望将其转换为时间戳,但是当我这样做时:

      $timestamp = strtotime("13/10 15:00");

返回一个空值。

2 个答案:

答案 0 :(得分:43)

在您的代码中strtotime()正在尝试将13/10转换为第13个月的第十天,这会返回错误。

如果要使用自定义格式解析日期字符串,最好使用DateTime :: createFromFormat()代替:

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();

答案 1 :(得分:18)

  $timestamp = strtotime("13-10-2013 15:00");

这很重要:

  

通过查看,可以消除m / d / y或d-m-y格式的日期   各个组件之间的分隔符:如果分隔符是a   斜线(/),然后是美国m / d / y;而如果   separator是短划线( - )或点(。),然后是欧洲d-m-y格式   假定。

     

为避免潜在的歧义,最好使用ISO 8601(YYYY-MM-DD)   date或DateTime :: createFromFormat()尽可能。

http://uk3.php.net/strtotime