我尝试转换格式为m-d-y h:i
的23小时格式,即2014年3月1日凌晨1点
03-01-2014 01:00 am
与
date_format('03-01-2014 01:00 am','Y-m-d h:i:s')
date('Y-m-d h:i:s',strtotime('03-01-2014 01:00 am')
到等效的24小时格式Y-m-d H:i:s
,但我得错了结果
2014-01-03 01:00:00
假设给出
2014-03-01 01:00:00
答案 0 :(得分:3)
03-01-2014 01:00 am
含糊不清。是3月1日吗?还是4月3号?来自the manual:
通过查看各个组件之间的分隔符来消除m / d / y或d-m-y格式的日期:如果分隔符是斜杠(/),则假设为美国m / d / y; 而如果分隔符是破折号( - )或点(。),则假定为欧洲d-m-y格式。
为避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或DateTime :: createFromFormat()。
$date = DateTime::createFromFormat('m-d-Y h:i a', '03-01-2014 01:00 am');
echo $date->format('Y-m-d H:i:s');
答案 1 :(得分:0)
2005-01-30 11:03 pm 使用
date('Y-m-d h:i a');
2005-01-30 23:03 使用
date('Y-m-d H:i');