Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我得到一个日期时间字段,目前在查询中为:
SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC
我想要做的是从那个日期减去 3 小时(GMT 问题),但我不能在 PHP 中这样做,因为 PHP 只知道日期部分,而不是时间。
mySQL有DATE_SUB():
DATE_SUB()
SELECT DATE_SUB(column, INTERVAL 3 HOUR)....
但是尝试解决潜在的时区问题不是更好吗?
假设您有一些时区问题并且知道源和目标时区,您可以像这样转换它
SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'), '%Y-%m-%d') AS date FROM x ORDER BY date ASC;
普通选择查询。
一旦在 MySQL 中应用DATE_ADD()函数
select lastname, date_add(changedat, interval -24 hour) as newdate from employee_audit;
lastname和changedat是字段名,employee_audit是表名。