Joda DateTime到Timestamp的转换
我试图在 Joda中 更改Timestamp
by 的值: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
当然rs
是ResultSet
。
回答:
实际上,这不是一个重复的问题。这是我几次后解决我的问题的方式:
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());
也许这不是获得它的实际方法,但是它解决了我的情况。我希望它能对陷在这里的任何人有所帮助。
以上是 Joda DateTime到Timestamp的转换 的全部内容, 来源链接: utcz.com/qa/402237.html