当前位置: 首页 > 面试题库 >

JDBC时间戳和日期GMT问题

戴鸿羽
2023-03-14
问题内容

我有一个JDBC Date列,如果我使用getDate只能在 2009年10月2日* 得到’ date
‘部分,但是如果我使用getTimestamp我就可以得到完整的’ date2009年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

编辑

我在格林尼治标准时间+2的客户端获得日期+2


问题答案:

这就是时间戳和MySQL中其他时间类型之间的区别。时间戳记在UTC中保存为Unix time_t,但其他类型实际上存储日期/时间而没有区域信息。

当您调用getTimestamp()时,如果类型为timestamp,则MySQL
JDBC驱动程序会将时间从GMT转换为默认时区。对于其他类型,它不执行这种转换。

您可以更改列类型,也可以自己进行转换。我建议采用前一种方法。



 类似资料:
  • 我正在为我的聊天应用程序使用firebase。在聊天对象中,我使用方法添加时间戳。 请就这个问题提出解决办法

  • 然后将变量持久化到MySQL表列中。 然而,虽然通过调试,我看到对象显示在正确的时区GMT+1,但在数据库上持久化时,它是一个GMT时区,所以要追溯一个小时。 使用函数返回一个GMT+1日期。 连接字符串为,没有任何参数。 编辑:找到这段代码

  • 问题内容: 有时,我会对Java中不同的Date类型及其实际用法感到困惑。在这里我想总结一下我的理解 毫秒值左右的精简包装,可让JDBC将其标识为SQL DATE值 围绕java.util.Date的瘦包装器,该包装器允许JDBC API将其标识为SQL TIMESTAMP值。通过允许小数秒的精度达到纳秒级,它增加了保存SQL TIMESTAMP小数秒值的能力。 我已经看到大多数项目都更喜欢时间戳

  • 问题内容: 我有一个数据库,它将具有标准sql格式的UMT时间戳。如何提取数据并为其设置Java日期对象? 据我所知mysql是 至于Java,日期/时间的东西一直躲着我。 如果有人为此知道一个好的图书馆,我欢迎您提出建议。 问题答案: 为什么不直接阅读为 看到

  • 问题内容: 我正在服务器上工作,并且服务器在GMT本地日期上向我发送日期,如字符串格式,然后将其转换为日期,如下所示: 我需要的是取出Ago中的时间, 因为我使用了一个github项目,该项目在传递日期时返回TimeAgo。 我已经看过这个答案,但没有解决我的问题。 异常:Err java.text.ParseException:无法解析的日期:“星期五6月22日09:29:29 NPT 2018

  • 问题内容: 在Java应用程序中,使用日期时间和时间戳的混合在MySQL数据库中添加和输入日期信息方面有什么好的折衷办法? 问题答案: 在Java方面,日期通常由(设计欠佳,但不包括在内)表示。它基本上是由支持大纪元时间中的味道long,也称为时间戳。它包含有关日期和时间部分的信息。在Java中,精度以毫秒为单位。 在SQL方面,有几个标准的日期和时间类型,DATE,TIME和TIMESTAMP(