2011-01-05 137 views
2

我需要一個函數,它可以獲取任何日期/時間並將其格式化爲不同的格式。php日期格式化

例如

$date = "31/12/2010 15:00:00" =>具有d/m/Y H:i:s 的格式,所以如果我需要像

$returning_format = "m/d/Y H:i:s" =>爲美國日期不同格式/時間

$newdate = transoform_date($current_format,$returning_format,$date); 上述行應返回12/31/2010 15:00:00

注:我不需要這種格式,因爲我可以爆炸它並重新排列它,因此它可以接受任何格式並返回所需的格式日期。

+0

的Userful鏈接://計算器。 com/questions/2621433/date-create-from-format-equivalent-for-php-5-2-or-lower「 – Val 2011-01-05 14:29:38

回答

4

對於PHP 5.3+

爲@Mchl答案「HTTP

$newdate = DateTime::createFromFormat($current_format,$date)->format($returning_fomrat);

+0

大多數共享主機公司允許你使用PHP 5.2.6,因此幾乎和離開它一樣好,因爲它會拋出php錯誤 – Val 2011-01-05 14:10:04

+0

你只能通過向他們施加壓力將它們變成adpot 5.3;)幸運的是5.2.16是5.2 – Mchl 2011-01-05 14:13:00

+1

的最後一個版本我正在爲一家公司工作,如果我強迫他們爲每個客戶我會浪費我很多時間與主機公司結成友好關係,因爲日期時間lol不實用(但),但是+1的確切功能如上所述在答案 – Val 2011-01-05 14:16:10

2

的strtotime - 解析任何英文文本的日期時間描述爲Unix時間戳

function transform_date($return_format, $date) 
{ 
    return date($return_format, strtotime($date)); 
} 
+0

它如何知道'5-1-11'和'1-5-11'之間的區別? – Mchl 2011-01-05 14:00:53

+0

鼻子總是知道。 – JakeParis 2011-01-05 14:02:07

+0

多數民衆贊成在讓我也:) :) – Val 2011-01-05 14:02:33