先简单介绍一下 Calendar类
Calendar类
Calendar类是java util包下的一个工具类,提供了很多便捷的不同日期格式的处理
Calendar类成员方法
- static Calendar getInstance() 使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:Calendar cr=Calendar.getInstance();
- public void set(int year,int month,int date,int hourofday,int minute,int second) 设置日历的年、月、日、时、分、秒。
- public int get(int field) 返回给定日历字段的值。所谓字段就是年、月、日等等。例如:获取日 int date = rightNow.get(Calendar.DATE);
- public void setTime(Date date) 使用给定的Date设置此日历的时间。Date------Calendar
- public Date getTime() 返回一个Date表示此日历的时间。Calendar-----Date
- abstract void add(int field,int amount) 按照日历的规则,给指定字段添加或减少时间量。
- public long getTimeInMillies() 以毫秒为单位返回该日历的时间值。
日历字段值
字段值 | |
---|---|
YEAR | 年 |
MONTH | 月 |
DATE / DAY_OF_MONTH | 日 |
HOUR_OF_DAY | 时 |
MINUTE | 分 |
SECOND / MILLISECOND | 秒/毫秒 |
DATE | 日 |
DAY_OF_WEEK | 周几 |
DAY_OF_YEAR | 一年的第多少天 |
WEEK_OF_YEAR | 一年的第多少周 |
DAY_OF_WEEK_IN_MONTH | 某月的第几周 |
注:month是从0开始的,而月份是从1开始的,所以计算时month需要加1
延长收货时间
Calendar cal = Calendar.getInstance();
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cal.setTime(df.parse(df.format(new Date(Long.valueOf(date)))));
} catch (ParseException e) {
e.printStackTrace();
}
cal.add(Calendar.DATE, day);
long calTime = cal.getTime().getTime();//延长后的收货时间
date属性延长之前的收货时间,因为我这date为时间戳所以进行了转换;如date属性为Date类型的话无需进行转换
cal.setTime(date);
day属性为延长天数。