代码之家  ›  专栏  ›  技术社区  ›  True Soft

从java.sql.time创建jodatime localdate

  •  2
  • True Soft  · 技术社区  · 14 年前

    我是新来的 乔达时间 我找不到任何例子来做一些简单的事情。

    我想创建一个对象,在其中保存从数据库中的表读取的时间值(A java.sql.Time -例如 "18:30:00" )我不在乎时区,所以我想我需要 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 回复  |  直到 14 年前
        1
  •  4
  •   Jonathan Feinberg    14 年前

    根据 the documentation ,您应该能够通过将java.util.date作为唯一的构造函数参数传递给它来直接构造localdate。由于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日。但我想你知道你在做什么。