PHP年的日期格式问题是(1300)


Date format issue in PHP year is (1300)

我正在将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,并且变量的内容是正确的。