php,date()没有返回正确的日期/时间

时间:2012-02-14 01:53:43

标签: php date strtotime

以下代码......

$date = "02-13-2012";
$start_time = "17:30";
$end_time = "20:00";

$start_timestamp = date("m-d-Y H:i",strtotime($date." ".$start_time));
$end_timestamp = date("m-d-Y H:i",strtotime($date." ".$end_time));

print($start_timestamp);
print($end_timestamp);

...返回

1969-12-31 19:30:00

1969-12-31 20:30:00

有谁知道为什么这不能正常工作?

4 个答案:

答案 0 :(得分:2)

02-13-2012 17:30不是recognized date format。使用日期 - 月 - 年 - 或年 - 月 - 日订单,或使用自定义解析日期格式,例如DateTime::createFromFormat

答案 1 :(得分:0)

您的日期格式对于strtotime函数不正确

要么改变

 $date = "13-02-2012";

或其他一些有效格式

答案 2 :(得分:0)

当您将日期格式设置为xx-yy-zzz时,strtotime()会将其解释为普通格式的日期,而不是美国日期,因此它是dd-mm-yyyy

答案 3 :(得分:0)

看到这个。我想你必须改变日期格式。

$date = "02-13-2012";
$date = str_replace("-","/",$date);
$start_time = "17:30";
$end_time = "20:00";

$start_timestamp = date("m-d-Y H:i",strtotime($date." ".$start_time));
$end_timestamp = date("m-d-Y H:i",strtotime($date." ".$end_time));

print($start_timestamp);
echo "<br/>";
print($end_timestamp);