Php 为什么日期字段表单数据库(yyyy-mm-dd)显示为dd-mm?

Php 为什么日期字段表单数据库(yyyy-mm-dd)显示为dd-mm?,php,mysql,Php,Mysql,我有以下信息$resultsdob从mysql数据库中提取 $resultsdob=“2018-01-05” 当我回显$displaydate时,它显示为:“2018年5月1日” 为什么??我希望“2018年1月5日”能够使代码显式化(比隐式更好,因为隐式并不总是按照您期望的方式工作),并将自己与当前语言环境设置的任何内容隔离开来 $resultsdob = "2018-01-05"; $dt = DateTime::createFromFormat('Y-m-d', $resultsdob);

我有以下信息<代码>$resultsdob从mysql数据库中提取

$resultsdob=“2018-01-05”

当我回显$displaydate时,它显示为:“2018年5月1日”


为什么??我希望“2018年1月5日”

能够使代码显式化(比隐式更好,因为隐式并不总是按照您期望的方式工作),并将自己与当前语言环境设置的任何内容隔离开来

$resultsdob = "2018-01-05";
$dt = DateTime::createFromFormat('Y-m-d', $resultsdob);
echo $dt->format('F j, Y');

无法复制-可能是您的服务器正在进行时间旅行,或者您在添加时将日期与yyyy dd mm混淆。这可能取决于您的区域设置。如果是美国的话,它将在一个月前一天解析;如果是在月前的一天。试着回应你的$results。我想你的论点已经改变了。想一想,你就会明白。
$resultsdob = "2018-01-05";
$dt = DateTime::createFromFormat('Y-m-d', $resultsdob);
echo $dt->format('F j, Y');