java日期加一天_java取得当前日期增加一天或多天

Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //获取东八区时间

int year = c.get(Calendar.YEAR); //获取年

int month = c.get(Calendar.MONTH) + 1; //获取月份,0表示1月份

int day = c.get(Calendar.DAY_OF_MONTH); //获取当前天数

int first = c.getActualMinimum(c.DAY_OF_MONTH); //获取本月最小天数

int last = c.getActualMaximum(c.DAY_OF_MONTH); //获取本月最大天数

int time = c.get(Calendar.HOUR_OF_DAY); //获取当前小时

int min = c.get(Calendar.MINUTE); //获取当前分钟

int xx = c.get(Calendar.SECOND); //获取当前秒

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String curDate= s.format(c.getTime()); //当前日期

System.out.println("当前时间:"+year + "-" + month + "-"+ day + " "+time + ":" + min +":" +xx);

System.out.println("第一天和最后天:" + first +"," +last);

System.out.println("当前日期curDate====:" + curDate);

输出结果:

当前时间:2012-9-25 22:50:54 第一天和最后天:1,30

当前日期curDate:2012-09-25 22:50:54

Calendar的计算

c.add(Calendar.YEAR, 1);

c.add(Calendar.MONTH,1);

c.add(Calendar.DAY_OF_MONTH,1);int year2 =c.get(Calendar.YEAR);int month2 = c.get(Calendar.MONTH) + 1;int day2 =c.get(Calendar.DAY_OF_MONTH);int firstD =c.getActualMinimum(c.DAY_OF_MONTH);int lastD =c.getActualMaximum(c.DAY_OF_MONTH);

System.out.println("当前时间:"+year2 + "-" + month2 + "-"+ day2 + " "+time + ":" + min +":" +xx);

System.out.println("第一天和最后天:" + firstD +"," + lastD);

输出结果:

当前时间:2013-10-26 23:4:3 第一天和最后天:1,31

获取上个月的年、月、日

Calendar c=Calendar.getInstance();

c.add(Calendar.MONTH,-1);//上个月

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String year=String.valueOf(c.get(Calendar.YEAR));

String topDay=String.valueOf(c.getActualMinimum(Calendar.DAY_OF_MONTH));

String lastDay=String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH));//上个月

String lastMonth=String.valueOf(c.get(Calendar.MONTH)+1).length()==2?String.valueOf(c.get(Calendar.MONTH)+1):"0"+String.valueOf(c.get(Calendar.MONTH)+1);

String topDayMonth=year+"-"+lastMonth+"-"+"01" + " 00:00:00";

String lastDayMonth= year+"-"+lastMonth+"-"+lastDay+ " 23:59:59";

System.out.println("###year:" +year);

System.out.println("###last month:" +lastMonth);

System.out.println("###topday:" +topDayMonth);

System.out.println("###lastday:" + lastDayMonth);

输出结果

###year:2013

###last month:04

###topday:2013-04-01 00:00:00

###lastday:2013-04-30 23:59:59

转自 http://hi.baidu.com/zzm_2007/item/3b967b1cd1586e4e2b3e2258

importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;public classDateTest {public staticDate geLastWeekMonday(Date date) {

Calendar cal=Calendar.getInstance();

cal.setTime(getThisWeekMonday(date));

cal.add(Calendar.DATE,-7);returncal.getTime();

}public staticDate getThisWeekMonday(Date date) {

Calendar cal=Calendar.getInstance();

cal.setTime(date);//获得当前日期是一个星期的第几天

int dayWeek =cal.get(Calendar.DAY_OF_WEEK);if (1 ==dayWeek) {

cal.add(Calendar.DAY_OF_MONTH,-1);

}//设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一

cal.setFirstDayOfWeek(Calendar.MONDAY);//获得当前日期是一个星期的第几天

int day =cal.get(Calendar.DAY_OF_WEEK);//根据日历的规则,给当前日期减去星期几与一个星期第一天的差值

cal.add(Calendar.DATE, cal.getFirstDayOfWeek() -day);returncal.getTime();

}public staticDate getNextWeekMonday(Date date) {

Calendar cal=Calendar.getInstance();

cal.setTime(getThisWeekMonday(date));

cal.add(Calendar.DATE,7);returncal.getTime();

}public static voidmain(String[] args) {

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");try{

Date date= sdf.parse("2017-09-10");

System.out.println("今天是" +sdf.format(date));

System.out.println("上周一" +sdf.format(geLastWeekMonday(date)));

System.out.println("本周一" +sdf.format(getThisWeekMonday(date)));

System.out.println("下周一" +sdf.format(getNextWeekMonday(date)));

}catch(Exception e) {

e.printStackTrace();

}

}

}

输出结果:

今天是2017-09-10上周一2017-08-28本周一2017-09-04下周一2017-09-11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值