PHP:将字符串转换为DATETIME,并考虑am/pm

PHP:将字符串转换为DATETIME,并考虑am/pm,php,datetime,Php,Datetime,考虑到am/pm,我想将字符串转换为php数据时间 我想将'03/06/2015 12:17 am'转换为phpdatatime 我试过了 $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 请帮我解决这个问题。根据您播种的结果,一

考虑到am/pm,我想将字符串转换为php数据时间

我想将
'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


请帮我解决这个问题。

根据您播种的结果,一行代码就足够了:-

<?php
echo $newDateString = date('Y-m-d H:i:s',strtotime('03/27/2015 01:17 pm'));
?>

输出:-
2015-03-27 13:17:00


这不是答案,请注意,代码格式更具可读性:

我建议仔细检查strotime()的预期结果,有时它无法使用

例如:

<?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);
最新更新:
此错误在2016年3月左右被修复,版本>5.6.20和>7.0.4不再存在此问题

这是您想要的吗<代码>$newDateString=日期('Y-m-d H:i:s',标准时间('03/27/2015 01:17 pm')谢谢。你的解决方案正是我想要的。
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