2014-08-29 40 views
0

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

<?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 
?> 

更新:出于某种原因,我不得不删除 - 与/替换它。任何想法为什么正斜杠是好的,但不是 - ?

回答

1

为此,您可以使用DateTime类:

$mydate = new DateTime("08-25-2014 01:49 pm"); 
$MySQL_format = $mydate->format("m-d-Y h:i a"); 
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'); 
+0

我已经有日期08-25-2014 01:49 pm在变量$日期。如何转换格式并将其存储到$ date? – user3777279 2014-08-29 01:27:53

+0

我改变了我的代码来使用你的'$ date'变量。 – RiggsFolly 2014-08-29 01:30:11