将字符串日期值转换为日期格式值

时间:2018-10-01 05:01:32

标签: php

我有给定格式的日期字符串:

$bookingDate1 : 20180928

我们必须将日期格式转换为:

$bookingDate : 28-09-2018

我尝试过:

$bookingDate = substr($bookingDate1,6,2)."-".substr($bookingDate1,4,2)."-".substr($bookingDate1,0,4);

它给出正确的结果,但是我需要更好的解决方案。

谢谢

5 个答案:

答案 0 :(得分:0)

您可以使用php date()函数。

示例

$date = "20180928"; 
echo date("d-m-Y",strtotime($date)); 

输出

28-09-2018

答案 1 :(得分:0)

您可以使用“ DateTime :: createFromFormat”

$date = date_create_from_format('d/m/Y:H:i:s', $bookingDate);

如果您想要时间戳记,请使用

$date->getTimestamp();

您可以在此处https://www.w3schools.com/php/func_date_create_from_format.asp

进行查看

答案 2 :(得分:0)

尝试

$bookingDate1 = 20180928;
echo Date('d-m-Y',strtotime($bookingDate1));

答案 3 :(得分:0)

使用createFromFormat使您敢于使用当前的格式

    <?php

        $str = "20180928";
        $date = DateTime::createFromFormat('Ymd', $str);
        echo $date->format('Y-m-d');

     ?>

Live Demo

答案 4 :(得分:0)

在字符串日期w上使用strtotime(),然后应用date('Y-m-d')函数将其转换回日期格式。

$bookingDate1 = strtotime('20180928');
  

上面的语法会将字符串转换为UNIX TIME FORMAT。之后,我们必须应用date()函数将其转换回去。

$bookingDate = date('d-m-Y',$bookingDate1);
  

这会将字符串格式的日期转换为Year-month-date format。现在,“日期”的输出如下。

echo $bookingDate; // 28-09-2018

有关不同的日期格式,请参见:http://php.net/manual/en/datetime.formats.date.php