java8新特性pdf_java8新特性之深入解析日期和时间.pdf

java8新特性之深入解析日期和时间.pdf

java8新特性pdf_java8新特性之深入解析日期和时间.pdf_第1张图片

还剩

7页未读,

继续阅读

下载文档到电脑,马上远离加班熬夜!

亲,喜欢就下载吧,价低环保!

内容要点:

8 / 8 3. JSR310 的计算机相关的时间( Instant)和与人类相关的时间( DateTime)之间的差别变得更明显 4. JSR310 所有抛出的异常都是 DateTimeException 的子类。虽然 DateTimeException 是一个 RuntimeException 总结 对比旧的日期 API Java.time java.util.Calendar 以及 Date 流畅的 API 不流畅的 API 实例不可变 实例可变 线程安全 非线程安全 日期与时间处理 API,在各种语言中,可能都只是个不起眼的 API,如果你没有较复杂的时间处理需求,可能只是利用日期与时间处理 API 取得系统时间,简单做些显示罢了,然而如果认真看待日期与时间,其复杂程度可能会远超过你的想象 ,天文、地理、历史、政治、文化等因素,都会影响到你对时间的处理。所以在处理时间上,最好选用 JSR310(如果你用 java8的话就实现 310 了),或者 Joda-Time。 不止是 java 面临时间处理的尴尬,其他语言同样也遇到过类似的问题,比如 Arrow: Python 中更好的日期与时间处理库 Moment.js: JavaScript 中的日期库 Noda-Time: .NET 阵营的 Joda-Time 的复制 本文作者 : benhaile 7 / 8 System.out.println(d1.toMillis()); System.out.println(d1.toNanos()); //1 天时差 类似的还有如 ofHours() Duration d2 = Duration.ofDays(1); System.out.println(d2.toDays()); } public static void testChronology() { //提供对 java.util.Calendar 的替换,提供对年历系统的支持 Chronology c = HijrahChronology.INSTANCE; ChronoLocalDateTime d = c.localDateTime(LocalDateTime.now()); System.out.println(d); } /** * 新旧日期转换 */ public static void testNewOldDateConversion(){ Instant instant=new Date().toInstant(); Date date=Date.from(instant); System.out.println(instant); System.out.println(date); } public static void main(String[] args) throws InterruptedException { testClock(); testInstant(); testLocalDateTime(); testZonedDateTime(); testDuration(); testChronology(); testNewOldDateConversion(); } } 与 Joda-Time 的区别 其实 JSR310 的 规范领导者 Stephen Colebourne,同时也是 Joda-Time 的创建者, JSR310 是在 Joda-Time 的基础上建立的,参考了绝大部分的 API,但并不是说 JSR310=JODA-Time,下面几个比较明显的区别是 1. 最明显的变化就是包名(从 org.joda.time 以及 java.time) 2. JSR310 不接受 NULL 值, J

发表评论

暂无评论,赶快抢占沙发吧。

你可能感兴趣的:(java8新特性pdf)