我有一个 JDBC 日期列,如果我使用 getDate 则会得到 'date' 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的'date' 2009 年 10 月 2 日 13:56:78:890。这正是我想要的。
然而, getTimestamp 返回的“日期”“忽略”GMT 值,假设日期;2009 年 10 月 2 日 13:56:78:890,我最终得到2009 年 10 月 2 日 15:56:78:890
我的日期在数据库中保存为 +2GMT 日期,但应用程序服务器为 GMT,即晚 2 小时
如何仍能按原样得到我的约会,2009 年 10 月 2 日 13:56:78:890
Edit
我在客户端得到 GMT +2 的日期 +2
这就是 MySQL 中时间戳和其他时间类型之间的区别。时间戳以 UTC 格式保存为 Unix time_t,但其他类型实际上存储日期/时间,而没有区域信息。
当您调用 getTimestamp() 时,如果类型是时间戳,MySQL JDBC 驱动程序会将时间从 GMT 转换为默认时区。它不会对其他类型执行此类转换。
您可以更改列类型或自行进行转换。我推荐前一种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)