【发布时间】:2020-06-16 02:04:54
【问题描述】:
我看到 phpmyadmin 中存储的日期值是 2020-03-03。在 PHP 中,我将默认时区设置为 UTC,将用户的时区设置为 America/New_York:
date_default_timezone_set('UTC');
$userTimeZone = new DateTimeZone('America/New_York');
我从数据库中检索我的日期,在日期上设置时区,并将其转换为字符串。现在等于提前一天。 (03-02-2020)
$dateNeeded = new DateTime($row['dateNeeded']);
$dateNeeded->setTimeZone($userTimeZone);
$dateNeededStr = $dateNeeded->format('m-d-Y');
我在这里做错了什么?
【问题讨论】:
-
如果您的存储日期中没有时间组件,如果该时区落后于存储日期之一,难道不应该在不同时区生成更早的日期吗?
-
我不知道。这是这里的问题吗? MySQL中的数据类型是“日期”。
标签: php mysql date utc timezone-offset