使用php进行时间格式转换

时间:2014-08-29 00:59:24

标签: php mysql

我使用datetimepicker进行用户输入。格式为:mm-dd-yy hh:mm tt(例如:08-25-2014 01:49 pm)。我需要使用php(同时正确转换的datetime的示例)将其转换为MySQL 2014-08-25 13:49:00格式。

<?php
$test = '08-25-2014 01:49 pm';
$test = str_replace("-","/","$test");
$test = new DateTime("$test");
$test = date_format($test, 'Y-m-d H:i:s'); // 2011-07-01 00:00:00
?>

更新:出于某种原因,我不得不删除 - 并将其替换为/。知道为什么正斜线很好而不是 - ?

2 个答案:

答案 0 :(得分:3)

当您使用美国日期格式和用于非美国日期格式的-分隔符时,您可能必须实际执行以下操作: -

$date = '08-25-2014 01:49 pm';

$dt = new DateTime();
$dt->createFromFormat('m-d-Y h:i a', $date);

$date = $dt->format('y-m-d');

答案 1 :(得分:1)

您可以使用DateTime类:

执行此操作
$mydate = new DateTime("08-25-2014 01:49 pm");
$MySQL_format = $mydate->format("m-d-Y h:i a");