2011-01-05 106 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