美文网首页Joda time
Joda-Time 故事3 DateTime 和JDK的协作

Joda-Time 故事3 DateTime 和JDK的协作

作者: ba2cb747365a | 来源:发表于2018-11-21 22:11 被阅读94次

一、背景

jdk8中java.time包已经引进了joda-time,新应用的日期操作逻辑应该更多会使用新的api。但是传统的java.util日期包在很多框架内还是广泛使用的。比如mybatis中数据库timestamp类型映射的java类型就是java.util.Date。为啥不是java.sql.Date,感觉这个类感觉一点存在感都没有。本章介绍一下Joda-Time与java.util日期api的互转。

二、核心对象

2.1 DateTime

前面介绍过,出门左转可以看到

2.2 Date

不用介绍了,都用过,使用也很简单,当前日期 new Date(),时间戳 getTime()

2.3 Calendar

用的少的人,比如我提到这个类基本上就得百度了
援引jdk doc,地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

2.4 GregorianCalendar

同上,不百度不会用。
援引jdk doc,地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

三、使用案例

DATETIME类有一个构造函数,它把一个对象作为输入。特别的是,这个构造函数可以传递JDK Date、JDK Calendar 或JDK GregorianCalendar(它还接受ISO8601格式化的String或表示毫秒的long)。这是与JDK的互操作性的一部分。与JDK互操作性的另一部分是通过DATETIME返回JDK对象的方法进行的。
因此,JoDaDeTime/JDK日期之间的转换案例如下:
3.1 DateTime与Date互转

 // from Joda to JDK
    DateTime dt = new DateTime();
    Date jdkDate = dt.toDate();

    // from JDK to Joda
    dt = new DateTime(jdkDate);

3.2 DateTime与Calendar互转

// from Joda to JDK
    DateTime dt = new DateTime();
    Calendar jdkCal = dt.toCalendar(Locale.CHINESE);

    // from JDK to Joda
    dt = new DateTime(jdkCal);

3.3 DateTime与GregorianCalendar互转

 // from Joda to JDK
    DateTime dt = new DateTime();
    GregorianCalendar jdkGCal = dt.toGregorianCalendar();

    // from JDK to Joda
    dt = new DateTime(jdkGCal);

相关文章

  • Joda-Time 故事3 DateTime 和JDK的协作

    一、背景 jdk8中java.time包已经引进了joda-time,新应用的日期操作逻辑应该更多会使用新的api...

  • android DateTime使用

    导入 compile 'joda-time:joda-time:2.9.6' DateTime的相关用法和Cale...

  • Joda-Time LocalDate、LocalTime、Da

    背景 在之前的故事中,提的最多的是DateTime,看过Joda-Time的会发现还有两个类,LocalDate和...

  • Joda-DateTime

    本篇文章主要介绍Joda-Time这个日期时间工具类库的使用方式。主要介绍Instant和DateTime的用法。...

  • 时间处理

    多线程使用DateFormat [Joda-Time] 是一个很棒的开源的 JDK 的日期和日历 API 的替代品...

  • Joda-Time Chronology年表

    背景: 本故事将介绍Joda-Time 的核心对象Chronology,中文翻译是年表。Joda-Time的设计是...

  • 强大易用的日期和时间库 Joda Time

    Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK...

  • Joda-Time日期时间工具类

    本篇文章主要介绍Joda-Time这个日期时间工具类库的使用方式 在JDK1.8之前,处理日期和时间的方式比较单一...

  • 4.线程通信

    线程协作-JDK API JDK中对于需要多线程协作完成某一任务的场景,提供了对应API支持。多线程协作的典型场景...

  • Joda-Time 介绍

    一、前言: Joda-Time是JDK 8之前时间处理方面最流行的第三方框架以及事实上的标准。主要原因是JDK在日...

网友评论

    本文标题:Joda-Time 故事3 DateTime 和JDK的协作

    本文链接:https://www.haomeiwen.com/subject/vvphqqtx.html