Joda Time总结


官网:https://www.joda.org/joda-time/index.html

为啥用Joda Time

    1. 易于使用:Calendar让获取”正常的”的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就是代表January。
    1. 易于扩展:JDK支持多日历系统是通过Calendar的子类来实现,这样就显示的非常笨重而且事实 上要实现其它日历系统是很困难的。Joda-Time支持多日历系统是通过基于Chronology类的插件体系来实现。
    1. 提供一组完整的功能:它打算提供 所有关系到date-time计算的功能.Joda-Time当前支持8种日历系统,而且在将来还会继续添加,有着比JDK Calendar更好的整体性能等等。

大部分人使用SimpleDateFormat处理时间格式化过程,但是SimpleDateFormat存在并发问题。使用Joda Time替代

使用

导入jar,地址: https://mvnrepository.com/artifact/joda-time


    joda-time
    joda-time
    2.10.3

Java日期对象 与 Joda Time日期对象相互转换

毫秒 与 DateTime

毫秒 => DateTime

long milliseconds = System.currentTimeMillis();
DateTime dateTime = new DateTime(milliseconds);

DateTime => 毫秒

DateTime dateTime = new DateTime();
long milliseconds = dateTime.getMillis();

Date 与 DateTime

Date => DateTime

Date d = new Date();
DateTime dateTime = new DateTime(d);

DateTime => Date

DateTime dateTime = new DateTime();
Date d = dateTime.toDate();

Calendar 与 DateTime

Calendar => DateTime

Calendar c = Calendar.getInstance();
DateTime dateTime = new DateTime(c);

DateTime => Calendar

DateTime dateTime = new DateTime();
Calendar c = dateTime.toCalendar(null);

时间 => 字符串 (时间转换字符串、时间格式化)

第一种方式

Date d = new Date();
DateTime dateTime = new DateTime(d);
dateTime.toString("yyyy-MM-dd HH:mm:ss);

第二种方式

Date d = new Date();
DateTime dateTime = new DateTime(d);
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
formatter.print(dateTime);

字符串 => 时间

日期计算


文章作者: Gumihoy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Gumihoy !
评论
  目录