2013-04-08 72 views

回答

2

如果图案总是会24/12/2010,你可能会爆炸的“/”,切换的[0值的数组]和[1],然后再次破灭数组:

$date_1 = '24/12/2010 23:59:59'; 
$array = explode('/', $date_1); 
$tmp = $array[0]; 
$array[0] = $array[1]; 
$array[1] = $tmp; 
unset($tmp); 
$date_2 = implode('/', $array); 

也许不是最优雅的解决方案,但如果24/12/2010模式是一致的工作。

+0

为什么在存在额外的功能时使用困难的方式? – bwoebi 2013-04-08 16:14:31

+0

好的解决方案即使很难,有没有最快的方法来做到这一点? – cMinor 2013-04-08 16:19:43

+0

@cMinor如果你打算格式化多个字符串,你可以把它放到一个函数中,如: 'function swapDate($ string){ $ array = explode('/',$ string); $ tmp = $ array [0]; $ array [1] = $ array [0]; $ array [0] = $ tmp; return implode('/',$ array); }' – 2013-04-08 16:57:38

5

您可以:

$date = DateTime::createFromFormat('d/m/Y H:i:s', '24/12/2010 23:59:59'); 

echo $date->format('m/d/Y H:i:s'); 
+0

如果它发生在服务器中没有PHP> 5.3 ... ...? – cMinor 2013-04-08 16:17:21

+1

那么你允许使用硬盘的方式...用爆炸等。(顺便说一句,这是> = PHP 5.3) – bwoebi 2013-04-08 16:18:49

1

使用date_parse_from_format,然后strftime上的结果与适当的修饰符。

date('m/d/Y H:i:s',date_parse_from_format('d/m/Y H:i:s', $date_1)); 
1

你可以做下面的代码:

date('m/d/Y h:i:s", strtotime($date_1)); 
+1

失败。只有$ dte_2是strtotime的有效日期 – bwoebi 2013-04-08 16:10:45

+0

这是一个错误的答案。它不起作用。 http://codepad.viper-7.com/rqzI8h – Antony 2013-04-08 16:12:08

相关问题