使用日期字符串中的两个分隔符进行爆炸

时间:2014-02-08 08:03:05

标签: php

我有一个字符串

$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);

Out Put:

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
        )

)

2 个答案:

答案 0 :(得分:2)

您可以使用preg_split,因为您需要在3个参数上进行爆炸,这有效 -

$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)
*/

答案 1 :(得分:1)

正如您的查询评论中所提到的,需要进行三次爆炸:

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*/

希望这会有所帮助。当然,假设您的应用程序中的所有日期时间值都采用上述格式,这将起作用。