我正在将PHP日期格式从Y-m-d
转换为d-m-Y
。日期是1399-10-10,转换后我得到的结果是01-01-1970
我的代码是:
$dob = ($post['dob']!='')?date('d-m-Y',strtotime($post['dob'])):'';
但结果是:01-01-1970
我需要这个结果: 10-10-1399
谁能指导我解决这个问题?
编辑,如果您运行的是64位PHP版本,下面的注释似乎可以工作,您将在沙盒网站上找到一个工作副本。
检查$post['dob']
的含量是$post
而不是$_POST
我运行了这个,
$date = '1399-10-10';
echo date( 'd-m-Y', strtotime( $date ) );
得到了这个
10-10-1399
很可能输入的变量不正确。
第二个选项是使用下面的
$date = new DateTime( '1399-10-10' );
echo $date->format( 'd-m-Y' );
当然,这是假设$post
是$post
而不是$_POST
,并且变量的内容是正确的。