我目前在伦敦,处于 BST(GMT + 1)时间,例如当地时间晚上 8 点。
当我在表中添加一个条目时,时间戳会自动设置,当我在 phpMyAdmin 中查看时,它会正确显示当前本地时间。
当我运行此查询时,它会返回最近插入的项目。
SELECT * FROM products WHERE added_date > '2025-04-05T20:00:00Z'
但这对我来说毫无意义。祖鲁时间晚上 8 点是当地时间晚上 9 点。
我目前在伦敦,处于 BST(GMT + 1)时间,例如当地时间晚上 8 点。
当我在表中添加一个条目时,时间戳会自动设置,当我在 phpMyAdmin 中查看时,它会正确显示当前本地时间。
当我运行此查询时,它会返回最近插入的项目。
SELECT * FROM products WHERE added_date > '2025-04-05T20:00:00Z'
但这对我来说毫无意义。祖鲁时间晚上 8 点是当地时间晚上 9 点。
“Z”后缀对 MySQL 毫无意义。它不是祖鲁时间的指标。它只是无法被识别。
修剪掉‘Z’:
尾随的“Z”可以作为 ISO 8601 格式的 UTC 时区的同义词,但 MySQL 并未实现对 ISO 8601 的完全支持。
https://bugs.mysql.com/bug.php?id=8588(早在 2005 年!)提到 MySQL 不支持尾随的“Z”。几年前,MySQL 的日期格式经历了一系列变化,允许删除对 ISO 8601 格式的支持,并部分恢复对该格式的支持。最终结果是“Z”不再被识别。想想吧。
您应该阅读https://dev.mysql.com/doc/refman/8.4/en/date-and-time-literals.html,了解 MySQL 当前对日期时间文字中时区的支持的完整详细信息。