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

Joda DateTime到Timestamp的转换

彭宏阔
2023-03-14
问题内容

我试图在 Joda中 更改Timestampby 的值:DateTimeZone __

  DateTime dt = new DateTime(rs.getTimestamp("anytimestampcolumn"),
                             DateTimeZone.forID("anytimezone"));
  Timestamp ts = new Timestamp(dt.getMillis());
  • 对于DateTime,值是:2013-04-13T22:56:27.000+03:00

  • 对于TimeStamp,值是:2013-04-13 22:56:27.0

Timestamp 没有时区差异。

如何使用TimeZone获取正确的时间戳? 例如,我想获取“ 2013-05-13 01:56:27.0”。

提前致谢。

编辑: 使用 MySQL ,列类型TIMESTAMP当然rsResultSet


问题答案:

实际上,这不是一个重复的问题。这是我几次后解决我的问题的方式:

   int offset = DateTimeZone.forID("anytimezone").getOffset(new DateTime());

这是从所需时区获取偏移的方法。

回到代码,我们从查询的结果集中获取时间戳,并将其与时区一起使用来创建日期时间。

   DateTime dt = new DateTime(rs.getTimestamp("anytimestampcolumn"),
                         DateTimeZone.forID("anytimezone"));

现在,我们将偏移量添加到日期时间,并从中获取时间戳。

    dt = dt.plusMillis(offset);
    Timestamp ts = new Timestamp(dt.getMillis());

也许这不是获得它的实际方法,但是它解决了我的情况。我希望它能对陷在这里的任何人有所帮助。



 类似资料:
  • 我从获取事件并存储到中。解析,其中包含字段,为表创建列,如下所示: 在代码中: 甚至尝试了:,也生成了相同的错误。如何通过spark作业将正确强制转换为并插入到中

  • 问题内容: 如何将对象转换为(或Timestamp)? 在下面的代码中,我创建了一个和对象。 注意:很容易从时间戳获取日期时间: 但是我们如何从()中提取datetime或?Timestampnumpy.datetime64dt64 。 更新:我的数据集中的一个令人讨厌的例子(也许是激励性的例子)似乎是: 应该是,而不是长(!)()… 问题答案: 要将日期时间对象转换为代表UTC时间的日期时间对象

  • 如何将Localdatetime转换为时间戳?我想使用新的SE8日期api,因为它比util日期和日历更好。我计划在整个程序中使用localdatetime,然后将该日期放入mysql数据库。我已经寻找了一个答案,但是对于java.time似乎没有太多的问题和答案。这是我正在测试的代码的一部分。就我所知。 我想我需要先把它转换成一个长的,但我不知道怎么转换。该api允许转换单个元素,如month和

  • 问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将大胆猜测您正在使用MySQL :-)它使用“零日期”作为特殊占位符 -不幸的是,JDBC默认情况下无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为MySQL连接的

  • 问题内容: 字段定义 二传手 有谁知道如何将“零日期”转换为适当的值?因为我有错误: 即使我像这样设置“默认”字段和设置器: 我仍然会有同样的问题。 问题答案: 在这里,我将做出一个疯狂的猜测,即您正在使用MySQL :-)它使用“零日期”作为特殊的占位符 -不幸的是,默认情况下JDBC无法处理它们。 解决方案是将“ zeroDateTimeBehavior = convertToNull”指定为

  • 问题内容: 我需要在查询中将DATE值转换为带时区的TIMESTAMP,但目前我正在获取不能被EF使用的时区(欧洲/巴黎)。 例如,执行此操作时: 我目前得到此输出: 但我需要像这样: 任何想法如何做到这一点? 问题答案: 您可以将转换为,然后使用将此时间戳转换为具有时区的时间戳: