我很难将字符串格式化为人类可读的日期格式。
我有:
07122012
需要得到
2012年12月7日
试过:
date("j M Y", strtotime($str));
答案 0 :(得分:3)
您可以使用DateTime::createFromFormat(PHP> = 5.3.0),如下所示:
$date = DateTime::createFromFormat('jmY', '07122012');
echo $date->format('d M Y') . "\n";
答案 1 :(得分:2)
尝试:
$str = "07122012";
$stryear = substr($str,-4);
$strmonth = substr($str,2,2);
$strday = substr($str,0,2);
echo date("j M Y", strtotime($stryear.'-'.$strmonth.'-'.$strday));
它会起作用,但最好的是阅读php文档(可能有一个内置功能)
答案 2 :(得分:0)
我认为最优雅的方式,因为你不能直接解析这个字符串,是这样的:
$date = "07122012";
// parse the dte fist correctly
$parsed_date = date_parse_from_format('dmY', $date);
// Make time, print date
echo date("j M Y", mktime(0, 0, 0, $parsed_date['month'], $parsed_date['day'], $parsed_date['year']));