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 }