用斜线格式化数字字符串到日期

问题描述 投票:0回答:1

我有一个 mmddyyyy 格式的字符串值,我想在

/
中添加到 php 中。这样做的正确方法是什么?

我试过了

$sDate = "04012023";
$sDate = date_create_from_format('mmddYYYY', $formattedSDate);
print_r($sDate);

但这并没有将其格式化为日期!

php string date date-formatting
1个回答
0
投票

假设你的日期字符串总是固定宽度的格式

mmddYYYY
你可以在这里使用正则表达式替换:

$sDate = "04012023";
$output = preg_replace("/^(\d{2})(\d{2})(\d{4})$/", "$1/$2/$3", $sDate);
echo $output;  // 04/01/2023

对于另一种更健壮和通用的方法,我们可以进行从字符串到日期的往返转换,然后以所需的格式将日期返回到字符串:

$sDate = "04012023";
$ymd = DateTime::createFromFormat('dmY', $sDate)->format('d/m/Y');
echo $ymd;  // 04/01/2023
© www.soinside.com 2019 - 2024. All rights reserved.