如何转换字符串“;290416〃;php中的日期格式


How to convert string "290416" in date format in php

我需要转换字符串值"290416",它实际上是日期,但格式不正确。我需要把它改成日期格式,比如2016年4月29日。请帮忙。

如果您不需要它作为日期,而只需要日期格式。这意味着你没有对它执行任何日期功能,只是将它显示为一个可以使用的日期

$str = '290416';
$arr = str_split($str, 2);
$date_string = $implode('/', $arr);

最稳健的方法是使用createFromFormat,传入您的格式和字符串,然后您就有了DateTime对象,可以用它做很多事情。

define('MY_DATE_INPUT_FORMAT', 'mdy');
define('MY_DATE_OUTPUT_FORMAT', 'm/d/y');
$inputDateString = '042916';
$dateObj = DateTime::createFromFormat(MY_DATE_INPUT_FORMAT, $inputDateString);
$outputString = $dateObj->format(MY_DATE_OUTPUT_FORMAT);

这也可以按程序进行:

$date = date_create_from_format(MY_DATE_INPUT_FORMAT, $inputDateString);
echo date_format($date, MY_DATE_OUTPUT_FORMAT);