我得到一个datetime字段,当前在查询中为:
SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC
我想做的是从该日期减去3个小时(格林尼治标准时间问题),但是我无法在PHP中执行此操作,因为PHP仅知道日期部分,而不是时间。
我得到一个datetime字段,当前在查询中为:
SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC
我想做的是从该日期减去3个小时(格林尼治标准时间问题),但是我无法在PHP中执行此操作,因为PHP仅知道日期部分,而不是时间。
Answers:
DATE_FORMAT()
-DATE(x.date_entered)
不会吗?最后一行是DATE(DATE_SUB(x.date_entered, INTERVAL 3 HOUR))
DATE_SUB
指令周围,它应该可以工作。
假设您遇到一些时区问题,并且知道源和目标时区,则可以像这样进行转换
SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'),
'%Y-%m-%d') AS date
FROM x ORDER BY date ASC;
%Y-%m-%d