我想拆分一个很长的数字,我在PHP中使用多个字符串。 我明白了:
<?php
$this = 020420151230;
?>
我想得到这个结果:
//output:
$this['day'] = 02;
$this['month'] = 04;
$this['year'] = 2015;
$this['hour'] = 12;
$this['minute'] = 30;
请您帮忙并建议我应该使用哪种功能?
答案 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函数
输出
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
?>