我想在PHP中将一个长数字拆分为多个字符串。我得到了这个:
<?php
$this = 020420151230;
?>
我想得到这个结果:
//output:
$this['day'] = 02;
$this['month'] = 04;
$this['year'] = 2015;
$this['hour'] = 12;
$this['minute'] = 30;
你能给我提供帮助和建议吗?我应该使用哪个功能?
忘记拆分和提取部分内容,如果格式始终保持不变,则使用已有的简洁日期-时间函数:)
<?php
$date = DateTime::createFromFormat('dmYHi', '020420151230');
echo $date->format('Y-m-d H i');
?>
Fiddle
现在请不要问如何提取单个值,因为您可以轻松地:)
如果您想将其作为尝试此操作的数组,
<?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
)
您可以使用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);
试试这个:
<?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
?>