Calendar知识点
java.util.Calendar
- 用于日期和时间的运算
- 抽象类,不能实例化
- 瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970年1月1日的00:00:00.000,格里高利历)的偏移量
Calendar rightNow = Calendar.getInstance();
java.util.GregorianCalendar
- GregorianCalendar(格利高里日期) 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统
实例化GregorianCalendar
Calendar calendar = new GregorianCalendar();
获取年、月、日等
Calendar calendar = new GregorianCalendar();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // Jan = 0, not 1
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
int weekOfMonth= calendar.get(Calendar.WEEK_OF_MONTH);
int hour = calendar.get(Calendar.HOUR); // 12 hour clock
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY); // 24 hour clock
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
int millisecond= calendar.get(Calendar.MILLISECOND);
设置年、月、日
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.YEAR, 2009);
calendar.set(Calendar.MONTH, 11); // 11 = december
calendar.set(Calendar.DAY_OF_MONTH, 24); // christmas eve
添加和减少年、月、日等
Calendar calendar = new GregorianCalendar();
//set date to last day of 2009
calendar.set(Calendar.YEAR, 2009);
calendar.set(Calendar.MONTH, 11); // 11 = december
calendar.set(Calendar.DAY_OF_MONTH, 31); // new years eve
//add one day
calendar.add(Calendar.DAY_OF_MONTH, 1);
//date is now jan. 1st 2010
int year = calendar.get(Calendar.YEAR); // now 2010
int month = calendar.get(Calendar.MONTH); // now 0 (Jan = 0)
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); // now 1
calendar.add(Calendar.DAY_OF_MONTH, -1);
陷阱和误区
月份陷阱
- 月份从0到11
星期误区
- 1 = sunday, 2 = monday, …, 7 = Saturday
参考资料
posted on 2016-06-30 13:46 superliu213 阅读(179) 评论(0) 收藏 举报
浙公网安备 33010602011771号