Java使用DateUtils对日期进行数学运算经典应用示例【附DateUtils相关包文件下载】

 更新时间:2017年11月23日 15:30:25   作者:初级以上  
这篇文章主要介绍了Java使用DateUtils对日期进行数学运算的方法,可实现针对日期时间的各种常见运算功能,并附带DateUtils的相关包文件供读者下载使用,需要的朋友可以参考下

本文实例讲述了Java使用DateUtils对日期进行数学运算的方法。分享给大家供大家参考,具体如下:

最近在写数据上传的程序,需要对Date进行一些数学运算,个人感觉在java中,日期的数学运算还是比较常用的,所以把Date的数学运算都玩了一下。试了一下,发现DateUtils这个工具类对于Date的数学运算非常方便,见代码吧。

package date;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang3.time.DateUtils;
public class DateCalculate {
  /**
   * 日期格式的运算
   * @param args
   */
  public static void main(String[] args) {
    System.out.println("脚本之家测试结果:");
    Date now = new Date();
    SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println("------当前时间--------:" + sd.format(now));
    //年: 加、减操作
    System.out.println("1年之后:"+sd.format(DateUtils.addYears(now, 1)));
    System.out.println("1年之前:"+sd.format(DateUtils.addYears(now, -1)));
    //月: 加、减操作
    System.out.println("1个月之后:"+sd.format(DateUtils.addMonths(now, 1)));
    System.out.println("1个月之前:"+sd.format(DateUtils.addMonths(now, -1)));
    //周: 加、减操作
    System.out.println("1周之后:"+sd.format(DateUtils.addWeeks(now, 1)));
    System.out.println("1周之前:"+sd.format(DateUtils.addWeeks(now, -1)));
    //天: 加、减操作
    System.out.println("昨天的这个时候:" + sd.format(DateUtils.addDays(now, -1)));
    System.out.println("明天的这个时候:" + sd.format(DateUtils.addDays(now, 1)));
    //小时: 加、减操作
    System.out.println("1小时后:" + sd.format(DateUtils.addHours(now, 1)));
    System.out.println("1小时前:" + sd.format(DateUtils.addHours(now, -1)));
    //分钟: 加、减操作
    System.out.println("1分钟之后:"+sd.format(DateUtils.addMinutes(now, 1)));
    System.out.println("1分钟之前:"+sd.format(DateUtils.addMinutes(now, -1)));
    //秒: 加、减操作
    System.out.println("10秒之后:"+sd.format(DateUtils.addSeconds(now, 10)));
    System.out.println("10秒之前:"+sd.format(DateUtils.addSeconds(now, -10)));
    //毫秒: 加、减操作
    System.out.println("1000毫秒之后:"+sd.format(DateUtils.addMilliseconds(now, 1000)));
    System.out.println("1000毫秒之前:"+sd.format(DateUtils.addMilliseconds(now, -1000)));
  }
}

运行结果:

注意:代码中引入了org.apache.commons.lang3.time.DateUtils;,直接运行程序会报错!读者可到官网提供的类库下载地址下载相应的组件,也可点击此处本站下载

最终文件的参考目录结构如下:

PS:这里再为大家推荐几款关于日期与时间计算的在线工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于java相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • @RequestBody获取不到参数的问题

    @RequestBody获取不到参数的问题

    这篇文章主要介绍了@RequestBody获取不到参数的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SpringBoot详解如何实现读写分离

    SpringBoot详解如何实现读写分离

    当响应的瓶颈在数据库的时候,就要考虑数据库的读写分离,当然还可以分库分表,那是单表数据量特别大,当单表数据量不是特别大,但是请求量比较大的时候,就要考虑读写分离了.具体的话,还是要看自己的业务...如果还是很慢,那就要分库分表了...我们这篇就简单讲一下读写分离
    2022-05-05
  • JavaWeb会话技术详解与案例

    JavaWeb会话技术详解与案例

    会话技术:在Web开发中,服务器跟踪用户信息的奇数称为会话技术。会话:指的是一个客户端与服务器发生的一系列请求和响应的过程。由于请求包含的信息,在请求被销毁后也就不存在,多次让用户输入账号密码,会影响用户的使用体验感,基于此,产生了cookie和session技术
    2021-11-11
  • java利用java.net.URLConnection发送HTTP请求的方法详解

    java利用java.net.URLConnection发送HTTP请求的方法详解

    如何通过Java(模拟浏览器)发送HTTP请求是我们在日常经常会遇到的问题,下面这篇文章主要给大家介绍了关于java利用java.net.URLConnection发送HTTP请求的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • elasticsearch java客户端action的实现简单分析

    elasticsearch java客户端action的实现简单分析

    这篇文章主要为大家介绍了elasticsearch java客户端action的实现简单分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Java使用pdfbox实现给pdf文件加图片水印

    Java使用pdfbox实现给pdf文件加图片水印

    有时候需要给pdf加水印,市面上工具都是收费的要会员,还是自食其力吧;尝试过 spire.pdf.free 那个超过10页就不行了!所以本文还是使用了pdfbox,感兴趣的可以了解一下
    2022-11-11
  • 从SpringMVC迁移到Springboot的方法步骤

    从SpringMVC迁移到Springboot的方法步骤

    本篇文章主要介绍了从SpringMVC迁移到Springboot的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Java设计模式之工厂模式

    Java设计模式之工厂模式

    这篇文章主要为大家详细介绍了Java设计模式之工厂模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 浅谈java中六大时间类的使用和区别

    浅谈java中六大时间类的使用和区别

    下面小编就为大家带来一篇浅谈java中六大时间类的使用和区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Java使用Request获取请求参数的通用方式详解

    Java使用Request获取请求参数的通用方式详解

    这篇文章主要给大家介绍了关于Java使用Request获取请求参数的通用方式,在Java后端开发中第一步就是获取前端传过来的请求参数,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01

最新评论