PHP显示日期在格式化后向前一天

PHP显示日期在格式化后向前一天,php,Php,当我从my_sqli查询中检索一个日期并对其进行格式化时,它将变为向前一天。日期已正确保存到服务器,并在新格式正确之前进行回显 $date = "SELECT date FROM blogtable WHERE id = $artID"; $dateEx = mysqli_query($con, $date); while($dateGet = mysqli_fetch_array($dateEx)) { //This is in YYYY-mm-dd $dateGet['date']

当我从my_sqli查询中检索一个日期并对其进行格式化时,它将变为向前一天。日期已正确保存到服务器,并在新格式正确之前进行回显

$date = "SELECT date FROM blogtable WHERE id = $artID";
$dateEx = mysqli_query($con, $date);
while($dateGet = mysqli_fetch_array($dateEx))
{
    //This is in YYYY-mm-dd
 $dateGet['date'];//If I echo this, it is correct   
}
$source = $dateGet;
$newDate = new DateTime($source);
echo $newDate->format('M-d-Y');

例如,如果我今天(24日)尝试使用它,它将正确保存,但在格式化后,显示为25日

Wrikken的建议奏效了,将while中的语句改为$source=$dateGet['date'];并删除$source=$dateGet

$source
可能是一个数组?它不应该是
$source=$dateGet['date']?是的,将$dateGet['date']替换为您的行,谢谢!