如何将一些数字,即20020415转换为2002年4月15日?从20020415到今天,我所做的一切似乎都变了。以下是我目前所拥有的:
//[DOB]
function dob_func( $atts )
{
$dob = get_field('dob');
$dob = date('d/m/Y');
return $dob;
}
add_shortcode( 'dob', 'dob_func' );
该代码为wordpress插件生成一个短代码。"get_field('dob');"将返回字段20020415,但随后"$dob=date('d/m/Y')"将其转换为今天的日期?几个小时以来,我一直在寻找解决方案。
为什么不使用substr函数?假设它总是以yyymmdd格式返回数字?
$year = substr("20020415", 0,4);
$month = substr("20020415",4,2);
$day = substr("20020415",6,2);
$arry = Array()
$arry[0] = $day;
$arry[1] = $month;
$arry[2] = $year
$formattedDate = implode('/', $arry);
//Do what you'd like from here
这只是一个想法,把你的vars分开,然后从那里开始。除非我误解了你。http://www.php.net/substr
PHP的DateTime类及其createFromFormat()方法将为您提供一个比当前接受的答案简单得多的解决方案:-
$date = DateTime::createFromFormat('Ymd', '20020415');
$dob = $date->format('d/m/Y');
echo $dob
输出:
15/04/2002