对时间的各种操作如下示:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//给Calendar设置具体时间值
//cal.set(year, month, date);这样设置时间也可以
// 设置当前Calendar实例中的时间,如不设置则默认为系统当前时间
cal.setTime(new Date());
for (int i = 0; i < 1; i++) {
//在当前时间天数上+1
// 在当前设置的时间基础上进行计算,Calendar.DAY_OF_YEAR为时间计算的单位(以一年的单位计算天数),amount为计算的数值
cal.add(Calendar.DAY_OF_YEAR, 1);
System.out.println("增加1天:"+format.format(cal.getTime()));
//设置的时间内增加1小时,Calendar.HOUR_OF_DAY:以一天为单位计算小时
cal.add(Calendar.HOUR_OF_DAY, 1);
System.out.println("增加1小时:"+format.format(cal.getTime()));
//设置的时间内增加30分钟,Calendar.MINUTE以分钟为单位计算
cal.add(Calendar.MINUTE, 30);
System.out.println("增加30分钟:"+format.format(cal.getTime()));
//获取该月最小天数
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
//获取该月最大天数
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("该月中最小最大值:"+firstDay+"~"+lastDay);
//设置的时间内增加1个月,Calendar.MONTH以月为单位计算
cal.add(Calendar.MONTH, 1);
System.out.println("增加一个月:"+format.format(cal.getTime()));
//获取设置时间的年月日时分秒
int year = cal.get(Calendar.YEAR);
//获取到的月份比实际的少一个月,应+1
int month = cal.get(Calendar.MONTH)+1;
int day= cal.get(Calendar.DATE);
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
System.out.println("该时间的年月日时分秒:"+year+"-"+month+"-"+day+" "+hour+":"+min+":"+second);
System.out.println();
}
Calendar cal1 = Calendar.getInstance();
//对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“七月”;MM代表月份,如“07”;yyyy代表年份,
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEEE");
cal1.set(2018,10,25);
for (int i = 0; i < 7; i++) {
System.out.println(format2.format(cal1.getTime()));
//获取设置时间的星期几
int week=cal1.get(Calendar.DAY_OF_WEEK)-1;
System.out.println("星期"+week);
cal1.add(Calendar.DAY_OF_YEAR, 1);
System.out.println();
}
}
}