从java.sql.Time创建jodatime LocalDate

时间:2009-12-14 14:17:40

标签: java jodatime localtime

我是 joda-time 的新手,我没有找到任何可以做一些简单事情的例子。

我想创建一个对象,在哪里保存从数据库中的表中读取的时间值(java.sql.Time - 例如"18:30:00")我不关心时区,所以我认为我需要LocalDate。但问题是我无法根据LocalDate对象创建Time对象。

我尝试了LocalDate.fromDateFields()DateTimeParser.parseInto()DateTimeParser.parseDateTime()没有成功。

编辑: 我应该使用LocalTime。 这些工作:

java.sql.Time time = Time.valueOf("18:30:00");
LocalTime lt1 = LocalTime.fromDateFields(time);
LocalTime lt2 = new LocalTime(time);

1 个答案:

答案 0 :(得分:4)

根据the documentation,您应该能够直接构造一个LocalDate,方法是将java.util.Date作为唯一的构造函数参数传递给它。由于java.sql.Time扩展了java.util.Date,你应该能够

final LocalDate ld = new LocalDate(mySqlTime);

这对我有用:

System.out.println(new LocalDate(Time.valueOf("18:30:00")));

另一方面,这不是一件有意义的事情,因为你总是得到1970年1月1日。但我想你知道你在做什么。