PHP:如何将数字拆分为多个字符串

时间:2015-04-02 09:36:21

标签: php string function datetime split

我想拆分一个很长的数字,我在PHP中使用多个字符串。 我明白了:

<?php
$this = 020420151230;
?>

我想得到这个结果:

//output:
    $this['day'] = 02;
    $this['month'] = 04;
    $this['year'] = 2015;
    $this['hour'] = 12;
    $this['minute'] = 30;

请您帮忙并建议我应该使用哪种功能?

4 个答案:

答案 0 :(得分:7)

忘记分割和提取部分内容,如果格式始终保持相同,则使用已经存在的整齐日期时间函数:)

<?php

$date = DateTime::createFromFormat('dmYHi', '020420151230');
echo $date->format('Y-m-d H i');     
?> 

<强> Fiddle

现在请不要问你如何提取单个值,因为你可以轻松地:)

答案 1 :(得分:0)

如果你想把它作为试试这个的数组,

<?php

$date = DateTime::createFromFormat('dmYHi', '020420151230');
$array = array('day'=>$date->format('d'),'month'=>$date->format('m'),'year'=>$date->format('Y'),'hour'=>$date->format('H'),'minute'=>$date->format('i')); 

print_r($array);
?> 

020420151230它自带日期时间格式,因此您可以直接使用php函数

Code

输出

Array
(
    [day] => 02
    [month] => 04
    [year] => 2015
    [hour] => 12
    [minute] => 30
)

答案 2 :(得分:0)

您可以使用preg_match功能。

$date = '020420151230';
preg_match('~^(?<day>\d{2})(?<month>\d{2})(?<year>\d{4})(?<hour>\d{2})(?<minute>\d{2})$~', $date, $match);
print_r($match);

答案 3 :(得分:-1)

试试这个:

<?php
 $datetime = "020420151230"; 
 $dd = substr($datetime,0,2);
 $mm = substr($datetime,2,2);
 $yyyy = substr($datetime,4,4);
 $hh = substr($datetime,8,2);
 $MM = substr($datetime,10,2);

 echo $this['day'] = $dd;     //02
 echo $this['month'] = $mm;   //04
 echo $this['year'] = $yyyy;  //2015
 echo $this['hour'] = $hh;    //12
 echo $this['minute'] = $MM;  //30
?>