2014-02-08 75 views
0

2个定界符我有一个​​字符串爆炸使用从日期字符串

$string="2012-1-12 51:00:00.5"; 

我怎么能爆炸这日,月,年,小时,分钟,第二次不使用日期函数。 我试图像这样请让我知道这个可行的解决方案,

我尝试:

$string="2012-1-12 51:00:00.5"; 
$pieces = explode(" ", $date); 
$pieces = explode("-", $date); 
$pieces = explode(":", $date); 

出认沽:

Array 
(
    [0] => Array 
     (
      [0] => 2012-1-12 
      [1] => 51:00:00.5 
     ) 

    [1] => Array 
     (
      [0] => 2012 
      [1] => 1 
      [2] => 12 51:00:00.5 
     ) 

    [2] => Array 
     (
      [0] => 2012-1-12 51 
      [1] => 00 
      [2] => 00.5 
     ) 

) 
+0

总共需要3个爆炸..第一个爆炸应该是空间分隔符... – user1844933

+0

@ user1844933:你说得对,但输出即将更新我的问题检查。 –

回答

2

您可以使用preg_split因为你需要发生爆炸3参数,This Works -

$string="2012-1-12 51:00:00.5"; 
$pieces = preg_split("/[-: ]/", $string); 
var_dump($pieces); 
/* 
array 
    0 => string '2012' (length=4) 
    1 => string '1' (length=1) 
    2 => string '12' (length=2) 
    3 => string '51' (length=2) 
    4 => string '00' (length=2) 
    5 => string '00.5' (length=4) 
*/ 
+0

好一个它很完美 –

+0

太棒了!如果此答案或任何其他人解决了您的问题,请将其标记为已接受 – Kamehameha

1

As ment在评论您的查询离子化将需要三爆炸:

list($date, $time) = explode(" ", $string); 
list($year, $month, $day) = explode("-", $date); 
list($hours, $mins, $sec) = explode(":", $time); 

/*print the values of $year, $date and so on*/ 

希望这可以帮助。当然,如果应用程序中的所有日期 - 时间值都采用上述格式,则这会起作用。

+0

谢谢@prahalad deshpande –