我想将字符串转换为php datatime,同时考虑到am / pm。
我想将'03/06/2015 12:17 am'
转换为php
datatime
。
我试过了,
$myDateTime = DateTime::createFromFormat('m/d/Y H:i', '03/27/2015 01:17 pm');
$newDateString = $myDateTime->format('Y-m-d H:i');
我的目标输出是2015-03-27 13:17:00
请帮我解决这个问题。
答案 0 :(得分:3)
根据您播种的输出,一行代码就足够了: -
<?php
echo $newDateString = date('Y-m-d H:i:s',strtotime('03/27/2015 01:17 pm'));
?>
输出: - 2015-03-27 13:17:00
答案 1 :(得分:1)
这不是一个答案,只需注意更易读的代码格式:
我建议仔细检查 strtotime()的预期结果,有时无法使用。
例如:
<?php
date_default_timezone_set("Europe/Moscow");
$today = date("d-m-Y",mktime(0,0,0,4,28,2013)); // 28-04-2013, sunday
$lastWeek = strtotime("last week $today");
$thisWeek = strtotime("this week $today");
$nextWeek = strtotime("next week $today");
echo "last week - ".$lastWeek." / ".date("d-m-Y H:i\n",$lastWeek);
echo "this week - ".$thisWeek." / ".date("d-m-Y H:i\n",$thisWeek);
echo "next week - ".$nextWeek." / ".date("d-m-Y H:i\n",$nextWeek);
结果:
last week - 1366574400 / 22-04-2013 00:00; expected 15-04-2013
this week - 1367179200 / 29-04-2013 00:00; expected 22-04-2013
next week - 1367784000 / 06-05-2013 00:00; expected 29-04-2013
这么晚的更新: 这个bug在2016年3月左右被修复了,版本&gt; 5.6.20和&gt; 7.0.4已经没有这个问题了