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

Php 将字符串日期值转换为日期格式值,php,Php,我有一个字符串格式的日期: $bookingDate1 : 20180928 我们必须转换日期格式,如: $bookingDate : 28-09-2018 我试过: $bookingDate = substr($bookingDate1,6,2)."-".substr($bookingDate1,4,2)."-".substr($bookingDate1,0,4); 它给出了正确的结果,但我需要更好的解决方案 谢谢您可以使用php函数 示例 $date = "20180928"; ec

我有一个字符串格式的日期:

$bookingDate1 : 20180928
我们必须转换日期格式,如:

$bookingDate : 28-09-2018
我试过:

$bookingDate = substr($bookingDate1,6,2)."-".substr($bookingDate1,4,2)."-".substr($bookingDate1,0,4);
它给出了正确的结果,但我需要更好的解决方案

谢谢

您可以使用php函数

示例

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

28-09-2018
您可以使用“DateTime::createFromFormat”

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

$date->getTimestamp();
你可以在这里查看

试试这个

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

使用
createFromFormat
从当前格式创建dare对象

    <?php

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

     ?>

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

$bookingDate1 = strtotime('20180928');
上述语法将字符串转换为UNIX时间格式。之后,我们必须应用
date()
函数将其转换回来

这将把字符串格式的日期转换为
年-月日期格式
。现在,日期的输出如下所示


不同的日期格式在这里亲切地引用:

它给出了正确的结果,但是我需要更好的解决办法。”——这是一个没有多少意义的问题,因为它没有任何标准,你会认为一个解决方案比另一个更好。请详细说明在这种情况下您到底在寻找什么,或者至少说明您对现有的有什么实际问题。您可以使用更简单的正则表达式
$bookingDate1 = strtotime('20180928');
$bookingDate = date('d-m-Y',$bookingDate1);
echo $bookingDate; // 28-09-2018