【问题标题】:How to get date from this string? just date [closed]如何从此字符串中获取日期?只是日期[关闭]
【发布时间】:2016-11-04 10:43:54
【问题描述】:

$string = NCPDP_2016-10-28_15-31-10.csv;

如何获取没有扩展名和“_”的日期,只有“2016-10-28 15-31-10”?

【问题讨论】:

    标签: php string date


    【解决方案1】:

    嗯,这是更短的方式。如果您想再次使用它们,可以将变量 $setup 和 $explode add 添加到函数中。

    $string = 'NCPDP_2016-10-28_15-31-10.csv';
    
    $setup = str_replace("_", ".csv", $string);
    $explode = explode(".csv", $setup);
    
    echo $explode[1].' '.$explode[2];
    

    结果将是

    2016-10-28 15-31-10
    

    【讨论】:

      【解决方案2】:

      这很可能是一种更好的方法,但这会奏效。

      $string  = "NCPDP_2016-10-28_15-31-10.csv";
      $explode = explode( '_', $string );
      echo $explode[ 1 ]."\n";
      $explode2 = explode( '.', $explode[ 2 ] );
      echo $explode2[ 0 ];
      

      结果:

      2016-10-28
      15-31-10
      

      【讨论】:

        【解决方案3】:

        这是一个更短的版本:

        $string = 'NCPDP_2016-10-28_15-31-10.csv';
        echo trim(preg_replace('/([^\d\-])/', ' ', $string));
        

        我们只是用空格替换所有不是数字或破折号的内容。我们这样做而不是完全删除它们的原因是保持日期和时间之间的空间。

        现在我们可以修剪掉所有空白,但保留中间的空白(在日期和时间之间)。

        【讨论】:

          【解决方案4】:

          最简单的方法。

              $str1 = 'NCPDP_2016-10-28_15-31-10.csv'; 
              $replacestr = str_replace("_", ".csv", $str1);
              $explode = explode(".csv", $replacestr);   
              echo $explode[1].' '.$explode[2];
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-05-13
            • 1970-01-01
            • 1970-01-01
            • 2015-11-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多