0

我的 php 代码中有一些日期问题。我的代码是这样的:

$add_remind ="15/03/2013";
$add_time = "03:00";
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on));

但如果我打印$formated_add_remind_on,它正在打印1970-01-01 05:30:00。你能告诉我错误在哪里吗?

提前致谢。

4

3 回答 3

2
$add_remind ="2013-03-15";
$add_time = "03:00";
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on));

strtotime 不接受这种格式:15/03/2013

于 2013-03-08T10:20:22.690 回答
1

您的日期格式似乎不受支持,唯一受支持且看起来像“xx/xx/xxxx”的日期格式是美国日期,但它们使用月份的第一段,15 不是有效月份。

您可能需要转换您的输入,或者使用DateTime::createFromFormatstrptime 之类的东西,您可以在其中指定输入的格式(DateTime 对象也带有其他好东西,例如非全局时区支持)。

您的格式似乎是这样的(您可能希望将 UTC 更改为您创建的时间戳的时区):

$d = DateTime::createFromFormat("d/m/Y H:i:s", "15/03/2013 03:00:00", new DateTimeZone('UTC'));
于 2013-03-08T10:23:49.363 回答
0

strtotime只接受英文日期格式,您的日期应该是 MM/DD/YYYY 才能使这项工作。

于 2013-03-08T10:22:06.923 回答