Joda时间从无日期开始

时间:2015-12-13 10:58:46

标签: jodatime

是否有任何JodaTime类型仅代表没有日期的时间。我将存储公司的开放时间,例如:

  

星期一08:00 - 12:00和14:00 - 16:00   ...

1 个答案:

答案 0 :(得分:1)

org.joda.time.LocalTime是一种代表没有约会的时间的类型。您可以创建自己的间隔类,包括开始时间和结束时间。

然后,您将能够映射一周中的任何一天(在Joda-Time中仅作为1-7 = mon-sun范围内的整数提供)到时钟间隔列表(通常按开始时间排序)。

关于LocalTimeDateTime之间的转换:

LocalTime => DateTime

LocalTime time = ...;

LocalDate date = new LocalDate(2015, 12, 14);
DateTimeZone zone = DateTimeZone.forID("Europe/London");
DateTime dt = date.toDateTime(time, zone);

DateTime => LocalTime(使用DateTime中存储的时区)

DateTime dt = ...;
LocalTime lt = dt.toLocalTime();

请注意,Joda-Time考虑了这些转换期间的日光切换并采用了严格的策略(转换将因无效的本地时间而失败,但企业的开放时间应始终有效。)