是否有任何JodaTime类型仅代表没有日期的时间。我将存储公司的开放时间,例如:
星期一08:00 - 12:00和14:00 - 16:00 ...
答案 0 :(得分:1)
org.joda.time.LocalTime是一种代表没有约会的时间的类型。您可以创建自己的间隔类,包括开始时间和结束时间。
然后,您将能够映射一周中的任何一天(在Joda-Time中仅作为1-7 = mon-sun范围内的整数提供)到时钟间隔列表(通常按开始时间排序)。
关于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考虑了这些转换期间的日光切换并采用了严格的策略(转换将因无效的本地时间而失败,但企业的开放时间应始终有效。)