2013-10-16 83 views
0

我試圖將日期時間轉換爲另一種格式。datetime轉換爲其他格式在php

$original_value = "10-30-2013 14:19:12"; 

正是在M-d-Y H:我:■格式,我想將其轉換成Y-M-d H:我:■將其保存到數據庫中。

我已經嘗試了FF:

$original_value = "10-30-2013 14:19:12"; 
$date = new DateTime(strtotime($original_value)); 
echo $date->format('Y-m-d H:i:s'); 

output: 2013-10-16 14:31:19 
// which is wrong since it gets the current datetime value 

$original_value = "10-30-2013 14:19:12"; 
echo date('Y-m-d H:i:s', strtotime($original_value)) 

output: 1970-01-01 08:00:00 
// which is also invalid 

我怎樣才能做這樣的事情。謝謝您的幫助。

+0

與我的第二種解決方案相同,您只是將H更改爲h。我需要H保存在24小時格式 – Vainglory07

+0

是的,請參閱下面的答案.. :) – saveATcode

回答

4

DateTime::createFromFormat()

$original_value = '10-30-2013 14:19:12'; 
$date = DateTime::createFromFormat('m-d-Y H:i:s', $original_value); 
echo $date->format('Y-m-d H:i:s'); 
1

我的路是分離的年月日及時間提前。然後根據標準時間格式重新格式化它。我的代碼如下:

echo "<br>"; 
echo $original_value = "10-30-2013 14:19:12"; 
echo "<br>"; 
$tmp_array=explode("-",$original_value); 
echo $month=$tmp_array[0]; 
echo "<br>"; 
echo $day=$tmp_array[1]; 
echo "<br>"; 
$tmp_array=explode(" ",$tmp_array[2]); 
echo $year=$tmp_array[0]; 
echo "<br>"; 
echo $time=$tmp_array[1]; 
echo "<br>"; 
echo date('Y-m-d H:i:s', strtotime($year."-".$month."-".$day." ".$time)); 
+0

對不起,你的代碼可以用上面的簡化。感謝你的努力:D – Vainglory07

相關問題