将数字转换为日期和时间


turning numbers into date and time

如何将一些数字,即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