作者:李永健
撰写时间:2019年 07月16日
开发工具与关键技术:MyEclipse10,java
例子:
package jianjian;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class jian13 {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 使用默认时区和语言环境获得一个日历
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());//打印Date类型
System.out.println("---------获取时间----------");
// 获取时间
System.out.println("年:" + cal.get(Calendar.YEAR));
// 月是从0开始(0~11),所以需要+1
System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + cal.get(Calendar.MINUTE));
System.out.println("秒:" + cal.get(Calendar.SECOND));
System.out.println("---------设置时间----------");
// 设置时间
// 1、使用set一次设置
// cal.set(year, month, date, hourOfDay, minute, second);//月是从0开始(0~11)
cal.set(2019, 5, 5, 5, 5, 5);
System.out.println(format.format(cal.getTime()));
//2、单个字段一一设置
cal.set(Calendar.YEAR, 2019);
cal.set(Calendar.MONTH, Calendar.SEPTEMBER);//使用英文的十二个月的单词
cal.set(Calendar.DAY_OF_MONTH, 5);
cal.set(Calendar.HOUR_OF_DAY, 5);
cal.set(Calendar.MINUTE, 5);
cal.set(Calendar.SECOND, 5);
System.out.println(format.format(cal.getTime()));
System.out.println("---------时间计算----------");
//时间计算
System.out.println("----add----");
//add方法
cal.add(Calendar.MONTH, 5);//+5个月
System.out.println(format.format(cal.getTime()));
cal.add(Calendar.MONTH, -5);//-5个月
System.out.println(format.format(cal.getTime()));
System.out.println("----roll----");
//roll方法 年不会增加
cal.roll(Calendar.MONTH, 5);//+5个月
System.out.println(format.format(cal.getTime()));
cal.roll(Calendar.MONTH, -5);//-5个月
System.out.println(format.format(cal.getTime()));
//add方法会产生其他相关时间属性的连动变化
//roll方法只是对相应时间属性的域内做变化
System.out.println("----add 和 roll的区别----");
Calendar calAdd = Calendar.getInstance();
calAdd.add(Calendar.MONTH, 9);
System.out.println(format.format(calAdd.getTime()));
Calendar calRoll = Calendar.getInstance();
calRoll.roll(Calendar.MONTH, 9);
System.out.println(format.format(calRoll.getTime()));
//Calendar和Date的相互转换
System.out.println("Date和Calendar 的相互转换");
//Calendar---> Date
Date date1=cal.getTime();
System.out.println(format.format(date1));
//Date--->Calendar
Calendar cal2=Calendar.getInstance();
cal2.setTime(date1);
//由于太长转date类型打印
System.out.println(cal2.getTime());
}
}
结果图: