PHP Strtotime返回1

时间:2011-12-07 14:22:26

标签: php

我有以下PHP代码:

$te='2011-12-07-14-19-30';
$tt=strtotime($te);
echo $te;
echo $tt;

它没有像预期的那样输出时间的输入者......

有什么想法吗?

7 个答案:

答案 0 :(得分:3)

$te='2011-12-07 14:19:30'; //y-m-d h:i:s format
$tt=strtotime($te);
echo $te;

答案 1 :(得分:2)

尝试使用DateTime::createFromFormat

http://www.php.net/manual/en/datetime.createfromformat.php

答案 2 :(得分:0)

这不是strtotime会接受的valid compound date/time format。在将其传递给函数之前适当地修改它。

一个可能的和最小的编辑是删除所有破折号并在日期和时间部分之间添加“T”。

答案 3 :(得分:0)

因为这不是valid time string,所以只是用破折号分隔的数字。 它可能会返回-1而不是1,因为-1是默认的失败响应。

答案 4 :(得分:0)

尝试“2011-12-07 14:19:30”或“2011-12-07T14:19:30Z”(符合iso8601标准)。

答案 5 :(得分:0)

$te='2011-12-07-14-19-30';
$arr = explode('-',$te);
$timestamp = mktime($arr[3], $arr[4], $arr[5], $arr[1], $arr[2], $arr[0]);

我认为应该有效:)

答案 6 :(得分:0)

它返回FALSE,因为您传递的日期格式无效 来自docs

  

成功时返回时间戳,否则返回FALSE。 PHP之前   5.1.0,此函数在失败时返回-1。