我的表格中有一个DATETIME字段,其显示方式与我返回的字段不同。
要理解,以下是我在API中返回的确切对象字段:
然而,当我使用PostMan并查看结果时,时间正在改变,而不是我回到这里:
我不明白发生了什么。我试图将DATETIME作为UTC时间存储在数据库中,然后将其发送到客户端,客户端将其转换为本地时间。
答案 0 :(得分:0)
您没有以UTC时间存储日期。 “GMT-0400(EDT)”意味着他们将被存放在东部时间。其他结果中的Z表示UTC(或Zulu)时间,根据此规范:http://www.ietf.org/rfc/rfc3339.txt
我希望你的MySQL安装的默认时区设置为你的盒子所在的时区(https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html),所以当你在没有指定时区的情况下添加时间时,它会假设它在默认时区内。然后在您的回复中将其转换为UTC,增加四个小时。
您可能应该在向数据库添加信息时指定时区,和/或更改数据库的默认时区。根据您用于访问数据库的API,可能还有另一层“帮助”更改内容,因此如果有关于API的相关信息,您可以将其添加到您的问题中。