calendar实现日期处理

1. calendar类可以实现获得某一天的前几天,后几天的日期,可以使用calendar.add方法


// 获取系统当前时间

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss")

Calendar now = Calendar.getInstance();

String res = sdf.format(now.getTime());

System.out.println(res); // 2018-07-04 11:50:37

 

//指定某一天为当前标准

Calendar calendar=new GregorianCalendar();

calendar.setTime(date);//date为指定的日期。

 

//获取当前标准日期之后第7天的日期

calendar.add(calendar.DATE,7);

 

//获取当前标准日期的前一天的日期

calendar.add(calendar.DATE,-1);

 

Calendar   calendar = Calendar.getInstance();

calendar .add(5,1);则表示对日期进行加一天操作。如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作。

calendar.DATE也属于5。

注意:

1. 在获取月份时,Calendar.MONTH + 1 的原因(Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值)Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY。而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回“0”,所以我们需要+1。
2. 在获取星期几 Calendar.DAY_OF_WEEK – 1 的原因
Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到 第一天是星期几 的影响。
有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。

 

获取2小时之后的的日期

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 2);
String time = DateUtils.dateToStr(calendar.getTime());

获取10分组之后的日期

Calendar calendar = Calendar.getInstance();
calendar.set( Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 10);
String time = DateUtils.dateToStr(calendar.getTime());

DateUtils.dateToStr为封装的类,将日期转化为String。 

内容为:

public String dateToStr(Date date) {
String result = "";

try {
    if (date != null) {
        DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        result = sdf.format(date);
    }
} catch (Exception e) {
    e.printStackTrace();
}}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值