我需要转换字符串值"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);