我有成千上万的照片在坦桑尼亚拍摄,我想存储的日期和时间每张照片是在MySQL数据库。然而,服务器位于美国,当我尝试存储一个坦桑尼亚日期时间在Spring夏令时(在美国)的“无效”小时内,我遇到了问题。坦桑尼亚不做DST,所以时间是一个实际有效的时间。
其他复杂情况是,来自许多不同时区的协作者需要访问存储在数据库中的日期时间值。我想让他们总是作为坦桑尼亚时间出来,而不是在当地时间,各种合作者都在。
我不愿意设置会话时间,因为我知道有人会忘记设置会话时间,并得到时间出错时会出现问题。我没有权限改变任何关于服务器的东西。
但没有一个似乎解决我的特定问题。我不是一个SQL专家;有没有办法在设置DATETIME时指定时区?我没有看到一个。否则,任何建议如何解决这个问题,非常感谢。
编辑:
这里是我遇到的问题的一个例子。我发送命令:
INSERT INTO Images (CaptureEvent, SequenceNum, PathFilename, TimestampJPG)
VALUES (122,1,"S2/B04/B04_R1/IMAG0148.JPG","2011-03-13 02:49:10")
我得到的错误:
Error 1292: Incorrect datetime value: '2011-03-13 02:49:10' for column 'TimestampJPG'
此日期和时间存在于坦桑尼亚,但不存在于数据库所在的美国。