我是 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);
答案 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日。但我想你知道你在做什么。