1 package Test; 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 //Calendar 日历类 这是一个抽象类 需要用GregorianCalendar来实现 日历类可以实现日起计算,比如今天+100天是哪一天。 9 public class TestCalendar { 10 public static void main(String[] args) { 11 //获取日期的相关元素 12 Calendar c1 =new GregorianCalendar(2000,10,9,22,10,20);//年,月,日,时,分,秒 13 int year = c1.get(Calendar.YEAR);//获取年份。2000 14 System.out.println(year); 15 Date d1 =c1.getTime();//获取date对象 16 System.out.println(d1); 17 int mouth =c1.get(Calendar.MONTH);//获取月份 18 System.out.println(mouth);//10 0-11 表示1-12月 19 int weekday =c1.get(Calendar.DAY_OF_WEEK);//5 星期天-1 星期一-2 ·····星期六-7 月份和星期几都和中国的不一样,用的时候注意 20 System.out.println(weekday); 21 //设置日期的相关元素------------------------------------------------ 22 Calendar c2 =new GregorianCalendar();//如果不填写参数则默认为今天 23 Date d2 = c2.getTime(); 24 DateFormat dd =new SimpleDateFormat("yyyy-MM-dd"); 25 System.out.println(dd.format(d2));//2019-07-11 26 //设置年份 27 Calendar c3 =new GregorianCalendar(); 28 c3.set(Calendar.YEAR, 2000);//设置年份 29 c3.set(2000, 05, 22, 22, 57, 24);//设置年月日时分秒 30 System.out.println(c3.getTime());//Thu Jun 22 22:57:24 CST 2000 31 //日期对象和时间对象之间的转化 32 Date d5 =c2.getTime();//将时间类转换成了日期类 33 Calendar c6 =new GregorianCalendar(); 34 c6.setTime(d5);//将日期类转换成了日历类、 35 printCalendar(c6); 36 37 } 38 //创建一个想要的输出日历类的格式 39 static void printCalendar(Calendar c){ 40 //输出格式: 2018:12:13 20:47:28 周三 41 int year = c.get(Calendar.YEAR); 42 int month = c.get(Calendar.MONTH)+1; 43 int days = c.get(Calendar.DAY_OF_MONTH); 44 int hours =c.get(Calendar.HOUR); 45 int min =c.get(Calendar.MINUTE); 46 int sec =c.get(Calendar.SECOND); 47 int weekdays =c.get(Calendar.DAY_OF_WEEK)-1; 48 49 System.out.println(year+":"+month+":"+days+" "+hours+":"+min+":"+sec +" 今天是周"+weekdays); 50 //2019:7:11 9:36:56 今天是周4 51 } 52 53 54 55 }