【问题标题】:PHP: How to split a number to multiple stringsPHP:如何将一个数字拆分为多个字符串
【发布时间】:2015-04-02 09:36:20
【问题描述】:

我想将一个很长的数字拆分为 PHP 中的多个字符串。 我得到了这个:

<?php
$this = 020420151230;
?>

我想得到这个结果:

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

您能否提供帮助和建议,我应该为此使用哪个功能?

【问题讨论】:

标签: php string function datetime split


【解决方案1】:

忘记拆分和提取部分内容,如果格式始终保持不变,则使用已有的简洁日期时间函数:)

<?php

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

Fiddle

现在请不要问如何提取单个值,因为您很容易做到:)

【讨论】:

    【解决方案2】:

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

    <?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
    )
    

    【讨论】:

      【解决方案3】:

      你可以使用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);
      

      【讨论】:

        【解决方案4】:

        试试这个:

        <?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
        ?>
        

        【讨论】:

        • @lowmatic : 让我知道它是否对你有用:)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 1970-01-01
        • 2021-03-28
        • 1970-01-01
        相关资源
        最近更新 更多