关闭

java 日期加减天数、月数、年数的计算方式

标签: javaCalendar
13671人阅读 评论(2) 收藏 举报
分类:

因为某个项目需要统计 近1周、近1个月、近6个月 等数据,所以在时间的加减上面想了很多方式,最后决定用java.util.Calendar


java.util.Calendar ,提供了计算时间的方式,

Calendar.DATE  : 代表天数

Calendar.WEDNESDAY: 代表周数

Calendar.MONTH : 代表月数

Calendar.YEAR :代表年数


具体计算方式如下:

1、 计算近一周的日期,也就是得出过去7天的时间段,如今天2015-07-21  ,一个星期前那就是2015-07-14

public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.DATE, -7);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));
	}

或者:

Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.WEDNESDAY, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

这两者的结果都是得出2015-07-14的结果,只不过一个是减去7天,一个减去一个星期

注:如果是计算未来的日期,只需要去掉数字前面的负号就行了


2、计算近一个月的日期,也就是过去的一个月的时间段,如下:

Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.MONTH, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

输出结果:2015-06-21 



3、计算近一年的日期,也就是过去一年的时间段,如下:

Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.YEAR, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

输出结果:2014-07-21 




这个Calendar挺好用的,用来计算时间段的开始和结束什么的很方便~







3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

JAVA日期加减运算

1.用java.util.Calender来实现    Calendar calendar=Calendar.getInstance();      calendar.setTime(new D...
  • liwenfeng1022
  • liwenfeng1022
  • 2011-06-09 15:24
  • 274504

java 计算两个时间之间的间隔

1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时............
  • cynhafa
  • cynhafa
  • 2012-10-09 17:07
  • 74561

JAVA日期时间的计算

最近,手头有不少项目,其中就有一个类似公文流转的项目,其中有一个模块是任务的制定,而在任务的类型中有一个循环任务,就是用户输入任务的开始日期、结束日期,还需要输入一个周期数,比如每周的星期几、每月的多...
  • beyondzhx
  • beyondzhx
  • 2008-05-28 11:18
  • 27861

Java8中计算日期时间差

一.简述在Java8中,我们可以使用以下类来计算日期时间差异:1.Period 2.Duration 3.ChronoUnit 二.Period类主要是Period类方法getYears(),getM...
  • hspingcc
  • hspingcc
  • 2017-06-16 15:50
  • 5786

java日期计算

  • 2012-12-01 13:38
  • 3KB
  • 下载

Java日期计算之Joda-Time

Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。  htt...
  • zhuzj12345
  • zhuzj12345
  • 2016-05-10 14:03
  • 2648

Java中计算两个日期间隔多少天

String dbtime1 = "2017-02-23";  //第二个日期 String dbtime2 = "2017-02-22";  //第一个日期 //算两个日期间隔多少天 Simp...
  • u013456370
  • u013456370
  • 2017-02-23 15:36
  • 2512

java对日期Date类进行加减运算、年份加减,月份加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历...
  • yf198708
  • yf198708
  • 2016-07-08 11:26
  • 36206

Java中各种对日期的操作,加日期,减日期

Date d=new Date();     SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");     System.out.prin...
  • lanxingfeifei
  • lanxingfeifei
  • 2016-04-11 15:29
  • 7130

Java 给定一个指定日期 加上天数 输出加上天数的日期

public static void main(String[] args) throws java.text.ParseException { System.out.println(...
  • z1729734271
  • z1729734271
  • 2016-08-16 14:01
  • 6751
    个人资料
    • 访问:550618次
    • 积分:5353
    • 等级:
    • 排名:第5904名
    • 原创:102篇
    • 转载:33篇
    • 译文:0篇
    • 评论:351条
    个人简介
    我只是一个简单的Coder,为了兴趣和理想奋斗在生活的道路上
    希望大家多多交流,共同进步,有疑问或想法请留言或者私信,也可以加群:157797573

    博客专栏
    最新评论
    你还在一个人孤独的奋斗吗?
    其实,你并不寂寞,欢迎加入CSDN Java群,这里是你的另一个家!    点击加入:CSDN Java群