日期时间处理之Joda-Time库
在java中日期时间处理是很常见的需求,基础工具类提供Date和Calendar类,但使用起来并不方便,于是诞生了Joda-Time日期时间处理专用库,虽然Java 8中新增java.time处理日期时间,但仍需Threeten第三方库弥补Java 8的不足。 1、选择工具库的考量依据 (1)、功能是否全面,能够满足生产需要,并能解决该领域中的绝大多数的问题; (2)、是否是主流工具,用的人越多,意味着该库经受了更多生产实践的验证,效率安全等方面都已被证明是可靠的; (3)、自己是否已经熟练掌握。会的多不如会的精,如果能够用一个工具快速熟练可靠地解决问题,在时间成本有限的情况下,就不用刻意追求学习其它可替代的库。 2、常用的date-time类 Instant - 不可变的类,用来表示时间轴上一个瞬时的点; DateTime - 不可变的类,用来替换JDK的Calendar类; LocalDate - 不可变的类,表示一个本地的日期,而不包含时间部分(没有时区信息); LocalTime - 不可变的类,表示一个本地的时间,而不包含日期部分(没有时区信息); LocalDateTime - 不可变的类,表示一个本地的日期-时间(没有时区信息); 注意:不可变的类,表明了正如Java的String类型一样,其对象是不可变的。即不论对它进行怎样的改变操作,返回的对象都是新对象。 3