码迷,mamicode.com
首页 > 其他好文 > 详细

JodaTime的使用

时间:2021-06-28 17:58:55      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:方法   img   rgb   示例   mvn   tps   时间戳   pos   注意   

  处理时间的场景在软件开发中很常见,JDK提供了Date和Calendar,然而这套API并不是很好用。这里推荐使用JodaTime来进行时间的处理。这里放上JodaTime的官网地址:https://www.joda.org/joda-time/

  Maven中央库中的依赖:

<!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.9.9</version>
</dependency>

  在官网中,我们大概看看它的包结构,会有如下介绍:

 技术图片

  大的功能划分基本在这个包结构中就能看出端倪。

  整个JodaTime核心类是DateTime,它是不可变的线程安全的,代表一个datetime类。有多种构造方法,如图所示:

  技术图片

  与jdk中常用的Date可以使用如下转换,用得比较多:

    DateTime dateTime = new DateTime(new Date().getTime());
    //Instance代表一个时间点,可以获取到Long型的时间戳     Date date
= new Date(DateTime.now().toInstant().getMillis());

 

  获取到DateTime之后,可以进行plus或者minus操作,来获取未来一个时间点的DateTime或者过去某个时间点的DateTime。几个比较有代表性的方法示例:

        //注意格式
        DateTime parse = DateTime.parse("2020-12-21T01:23:21");
        //获取当前的时间对象
        DateTime dateTime = DateTime.now();
        //加1年
        dateTime.plusYears(1);
        //倒退21天
        dateTime.minusDays(21);

 

  另外,还可以获取到某个时间点是一个周期里的第几个单位,如:

        //获取当前的时间对象
        DateTime dateTime = DateTime.now();
        //获取今天是这个月的第几天
        int dayOfMonth = dateTime.dayOfMonth().get();
        //获取现在是今天的第几个小时
        int hourOfDay = dateTime.hourOfDay().get();
        //获取现在这个小时的第几分钟
        int minuteOfHour = dateTime.minuteOfHour().get();

 

  其它用法参考API中的详细文档。

 

 

  

 

 

 

 

 

JodaTime的使用

标签:方法   img   rgb   示例   mvn   tps   时间戳   pos   注意   

原文地址:https://www.cnblogs.com/bruceChan0018/p/14932904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!