zoukankan      html  css  js  c++  java
  • JodaTime的使用

      处理时间的场景在软件开发中很常见,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中的详细文档。

      

  • 相关阅读:
    Heritrix源码分析(十) Heritrix中的Http Status Code(Http状态码)(转)
    Heritrix源码分析(九) Heritrix的二次抓取以及如何让Heritrix抓取你不想抓取的URL
    Heritrix源码分析(八) Heritrix8个处理器(Processor)介绍(转)
    HTML 的 iframe 元素
    CSS 选择器及其优先级
    在触屏设备中拖动 overflow 元素
    关于博客园博问标签的自我实现
    ABAP中读取EXCEL中不同的SHEET数据
    创建表索引
    Call Transaction
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/14932904.html
Copyright © 2011-2022 走看看