2013-02-07 86 views
0

我知道有幾千個類似的問題,但不要問是否不必要。使用PHP爲DATETIME轉換日期

我研究了很多並找到了所有使用標準PHP函數進行日期轉換的解決方案,如果要將日期轉換爲具有標準的日期,則完美工作,而不是在我的情況下。

我來自第三方網站,返回我的日期按以下格式獲取數據:

12/20/2012 14:34 -> d/m/Y H:m 

注意,除了奇怪的格局並沒有秒。

問題是,我試圖使用這些解決方案作爲標準strtotime和一些功能,但沒有解決我的問題。我最終創建了以下解決方案:

<?php 

$data = '20/12/2012 14:34'; 

$teste = explode('/', $data); 
$teste2 = explode(' ', $teste['2']); 

$final = $teste2['0'] . '-' .$teste['1'] .'-'. $teste['0']. ' '. $teste2['1'].':00'; 

echo $final; 

完美地工作,但正如你所看到的沒有什麼優雅。有更多經驗的人可能會指出更好的解決方案?

+0

'strtotime'不工作?您的解決方案中有不同的格式。 – Kermit

+0

@njk'd/m/Y H:m'不是有效的複合日期時間格式。 –

+0

@MarcusRecck我很困惑的日期OP說他得到哪些是* 12/20/2012 * – Kermit

回答

2

這是我想出了:

$date = '20/12/2012 14:34'; 
$date = str_replace('/', '-', $date); 
$date = strtotime($date); 

$newdate = date('d-m-Y H:i:s', $date); 
echo($newdate); 
//returns 20-12-2012 14:34:00 

我很是困惑上格式化你要找的,但你可以圍繞最新技術規格切換date()函數內。有關PHP date()的更多信息,請參見here

+0

我需要的格式正是你所經歷的,謝謝。 這個函數不會在服務器上產生開銷嗎?我的例子顯然是不好的服務器 – Renato

+0

我不知道這個腳本的性能,但由於它是一個本地函數,我認爲這是最有效的方式。 – hexacyanide