从字符串中创建日期

时间:2017-03-14 06:29:41

标签: php

我有一些像这样的字符串。

$str = '14032017';

我想将其转换为日期格式并将结果显示为 14-03-2017

我已经尝试过了,但仍然没有工作:

<?php

$str = '14032017';
$strdate = strtotime($str);
$date = date('d-m-Y',$strdate);

echo $date;

?>

我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

试试这个

$str = '14032017';
$date = DateTime::createFromFormat('dmY', $str);
if($date === false){
   echo 'Invalid Date';
}else{
   echo $date->format('d-m-Y');
}

答案 1 :(得分:3)

您可以使用DateTime类。 (我假设你的str是dmY格式)

    $str = '14032017';
    $date = DateTime::createFromFormat('dmY', $str);
    echo $date->format('d/m/Y'); // Will print 14/03/2017

答案 2 :(得分:0)

    $str = '14032017';

    $strdate = DateTime::createFromFormat('dmY',$str)->format('Y-m-d H:i:s');

在字符串中使用正确的格式。 对于14032017 = dmY 对于14-03-2017 = d-m-Y等...