Calendar 日历类的时间操作
Java Calendar 日历类的时间操作,这也许是 Java 环境下创建和管理日历及操作时间最简单的一个方案了,示范代码也很简单。
演示了获取时间,日期时间的累加和累减,以及日期时间的比较。
注意事项:
Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。
而 Calendar.DAY_OF_WEEK 定义值如下,每周从 SUNDAY 开始,从 1 ~ 7:
Calendar.SUNDAY = 1
Calendar.MONDAY = 2
Calendar.TUESDAY = 3
Calendar.WEDNESDAY = 4
Calendar.THURSDAY = 5
Calendar.FRIDAY = 6
Calendar.SATURDAY = 7
//创建Calendar对象
Calendar calendar = Calendar.getInstance();
//对calendar设置时间的方法
//设置传入的时间格式
SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//对calendar设置为date指定的日期
calendar.setTime(date);
set(int field, int value) - 是用来设置"年/月/日/小时/分钟/秒/微秒"等值
add(int field, int amount) add 可以对 Calendar 的字段进行计算。如果需要减去值,那么使用负数值就可以了,如 add(field, -value)。
//calendar取得当前时间的方法
calendar.setTime(new Date());
str =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
//显示年份
int year = calendar.get(Calendar.YEAR);
//显示月份(从0开始,实际显示要加1)
int month = calendar.get(Calendar.MONTH);
//本周几
int week = calendar.get(Calendar.DAY_OF_WEEK);
//本月的第几天
int DAY_OF_MONTH = calendar.get(Calendar.DAY_OF_MONTH);
// 3小时以后
calendar.add(Calendar.HOUR_OF_DAY,3);
int HOUR_OF_DAY = calendar.get(Calendar.HOUR_OF_DAY);
// 当前分钟数
int MINUTE = calendar.get(Calendar.MINUTE);
// 15 分钟以后
calendar.add(Calendar.MINUTE,15); //MINUTE + 15 = 22
MINUTE = calendar.get(Calendar.MINUTE);
// 30分钟前
calendar.add(Calendar.MINUTE, -30);
MINUTE = calendar.get(Calendar.MINUTE);
// 创建一个 Calendar 用于比较时间
Calendar calendarNew = Calendar.getInstance();
// 设定为 5 小时以前,后者大,显示 -1
calendarNew.add(Calendar.HOUR, -5);
System.out.println("时间比较:" + calendarNew.compareTo(calendar));
// 设定7小时以后,前者大,显示 1
calendarNew.add(Calendar.HOUR, +7);
System.out.println("时间比较:" + calendarNew.compareTo(calendar));