创建
Java月份是从0-11,月份设置时要减1
// 使用当前时间创建
Calendar calendar = ();
// 设置指定日期,月份需要减一
(year, month - 1, day);
// 指定时间创建,参数依次为:年,月,日,时,分,秒,月份需要减一
Calendar calendar = new GregorianCalendar(2016, 8, 1, 15, 41, 22);
// Date转换为Calendar
Calendar calendar = ();
(date);
获取
获取年、月、日、时、分、秒、星期
Calendar calendar = ();
int year = ();
// 取月份要加1
int month = () + 1;
int day = (Calendar.DAY_OF_MONTH);
int hover = (Calendar.HOUR_OF_DAY);
int minute = ();
int seconds = ();
// 1-7分别代表 -- 星期日,星期一,星期二,星期三,星期四,星期五,星期六
int week = (calendar.DAY_OF_WEEK);
获取当前月份的最大天数
().getActualMaximum(Calendar.DAY_OF_MONTH);
操作
Calendar 转换为Date
Date date = ().getTime();
日期加减
public class TestCalendar {
// 使用默认时区和语言环境获得一个日历。
private static Calendar calendar = ();
public static void print(String name) {
(name + ": ");
(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(()));
}
public static void main(String[] args) {
print("当前时间 ");
(Calendar.HOUR_OF_DAY, 1);
print("增加1小时");
(Calendar.DAY_OF_MONTH, 1);
print("增加1天 ");
(, 1);
print("增加1个月");
(, 1);
print("增加1年 ");
(, -2);
print("减少2年 ");
}
}
两个日期相差天数
long millisOfDay = 24 * 60 * 60 * 1000;
Calendar calendar = new GregorianCalendar(2015, 9, 1);
Calendar calendar1 = new GregorianCalendar(2016, 9, 1);
Calendar calendar2 = new GregorianCalendar(2017, 9, 1);
// 2016年是闰年,得到366天
((() - ()) / millisOfDay);
// 2017年是平年,得到365天
((() - ()) / millisOfDay);
Calendar获取年、月、日、时间
Calendar c = (("GMT+08:00")); //获取东八区时间
//获取年
int year = ();
//获取月份,0表示1月份
int month = () + 1;
//获取当前天数
int day = (Calendar.DAY_OF_MONTH);
//获取本月最小天数
int first = (Calendar.DAY_OF_MONTH);
//获取本月最大天数
int last = (Calendar.DAY_OF_MONTH);
//获取当前小时
int time = (Calendar.HOUR_OF_DAY);
//获取当前分钟
int min = ();
//获取当前秒
int sec = ();
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String curDate = (()); //当前日期
("当前时间:" + year + "-" + month + "-" + day + " " + time + ":" + min + ":" + sec);
("第一天和最后天:" + first +"," + last);
("当前日期:" + curDate);