我很难将字符串格式化为人类可读的日期格式。
我有:
07122012
并且需要得到
2012 年 12 月 7 日
试过:
date("j M Y", strtotime($str));
我很难将字符串格式化为人类可读的日期格式。
我有:
07122012
并且需要得到
2012 年 12 月 7 日
试过:
date("j M Y", strtotime($str));
您可以像这样使用DateTime::createFromFormat(适用于 PHP >= 5.3.0):
$date = DateTime::createFromFormat('jmY', '07122012');
echo $date->format('d M Y') . "\n";
尝试:
$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 文档(可能有一个内置功能)
我认为最优雅的方式是,因为你不能直接解析这个字符串,是这样的:
$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']));