我有一张coupons
的桌子。
每张优惠券都有start date time
and end date time
。
我的时区是+30:00
在晚上9:16(根据我的日期类型为21:16),我运行此查询;
SELECT * FROM coupons WHERE NOW() BETWEEN coupon_date_start AND coupon_date_end
我得到了这个结果;
底部的结果应该过期而不显示。那个项目的结束时间是晚上9:14,我在晚上9:16运行这个。
你知道我该怎么解决吗?(我还为那张桌子设置了时区)
我的表模式;
我在mysql中将时区设置为+3utc,并将datetime改为timestamp列。
最佳答案
确保MySQL时区,您可以使用CONVERT_TZ
函数
SELECT *
FROM coupons
WHERE CONVERT_TZ(NOW(),'+00:00','+03:00') BETWEEN coupon_date_start AND coupon_date_end
CONVERT_TZ
sqlfiddle:http://sqlfiddle.com/#!9/d0578e/1
关于php - 两个日期时间时区之间的MySQL Now(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50890582/