我的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
。
你能告诉我错误在哪里吗?
提前致谢。
答案 0 :(得分: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
答案 1 :(得分:1)
您的日期格式似乎不受支持,is supported看起来像“xx / xx / xxxx”的唯一日期格式是美国日期,但它们使用的是当月的第一个细分,15个是不是有效月份。
您可能需要转换输入,或者使用类似DateTime::createFromFormat或strptime的内容,您可以在其中指定输入的格式(DateTime对象也带有非全局时区支持等其他好处)
您的格式似乎是这样的(您可能希望将UTC更改为您的时间戳创建的时区):
$d = DateTime::createFromFormat("d/m/Y H:i:s", "15/03/2013 03:00:00", new DateTimeZone('UTC'));
答案 2 :(得分:0)
strtotime只接受english date formats,您的日期应为MM / DD / YYYY才能生效。