【发布时间】:2014-07-10 05:43:44
【问题描述】:
Date date = //getting Date object of (record inserted datetime) using Hibernate query .
DateTime currentDateTime = new DateTime(System.currentTimeMillis(), DateTimeZone.UTC);
System.out.println("Current Date Time " + currentDateTime);
DateTime utcDateTime = new DateTime(date, DateTimeZone.UTC);
System.out.println("UTC Date Time :: " + utcDateTime);
Period per = new Period(currentDateTime.toLocalDateTime(), utcDateTime.toLocalDateTime());
System.out.println("Period time in sec ::" + (float) per.toStandardSeconds().getSeconds());
System.out.println("Period time in minutes::" + (float) per.toStandardSeconds().getSeconds() / 60);
System.out.println("Period time in hours::" + (float) per.toStandardSeconds().getSeconds() / (60 * 60));
我在从 MySQL DB 获取数据时使用 joda API 和 Hibernate。我将所有具有 UTC 时区的数据存储在 MySQL 数据库中。现在我想获取当前时间和插入记录之间的时差。我的本地时区是 GMT+5:30。我在时差上弄错了时间(+5:30 小时有实际差异)。不知道我在哪里做错了?
编辑:
我正在使用此代码将日期存储在数据库中。
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(format);
DateTime dateTime = new DateTime(DateTimeZone.UTC);
return dateTime.toString(dateTimeFormatter);
【问题讨论】:
-
它是 java.util.Date。查看更新的问题。
-
我不知道你是怎么从上面的评论到你的编辑的......
-
我在那边提到我正在从 DB 获取 Date 对象。
-
您的问题仍然没有在任何地方显示 java.util.Date,为什么您使用 string 表示来存储您的日期?为什么您仍然没有提供任何值?基本上这里有很多未知的东西,我们帮不了你......
-
@VishalZanzrukia:“日期对象”仍然可以是 java.util.Date 或 java.sql.Date。鉴于您是从 数据库 获取的,java.sql.Date 实际上会更常见。
标签: java mysql hibernate jodatime intervals