1. Date类
- 实例化Date对象
// 表示当前日期
Date date1 = new Date();
// 表示当前日期,注意年份为当前年减去1900,月份的值0-11
Date date2 = new Date(120, 4, 20);
// 后面两个参数分别为时和分
Date date3 = new Date(120, 4, 20, 21, 14);
// 后面一个参数为秒
Date date4 = new Date(120, 4, 20, 21, 14, 58);
// 可以传入毫秒数
Date date5 = new Date(19940326);
// 可以传入字符串
Date date6 = new Date("Wed May 20 21:16:31 GMT+08:00");
// Wed May 20 21:16:31 GMT+08:00 2020
System.out.println(date1);
- get方法
Date date = new Date();
// Wed May 20 21:37:28 GMT+08:00 2020
System.out.println(date);
// year:120(这里表示从1900年后经过了多少年)
System.out.println("year:" + date.getYear());
// month:4(month从0开始)
System.out.println("month:" + date.getMonth());
// date:20
System.out.println("date:" + date.getDate());
// day:3(0-6, 0代表星期日)
System.out.println("day:" + date.getDay());
// hours:21
System.out.println("hours:" + date.getHours());
// minutes:39
System.out.println("minutes:" + date.getMinutes());
// seconds:29
System.out.println("seconds:" + date.getSeconds());
// time:1589981969755
System.out.println("time:" + date.getTime());
// offset:-480(表示UTC相对于当前时区的偏移量)
System.out.println("offset:" + date.getTimezoneOffset());
- set方法
Date date = new Date();
// Wed May 20 21:54:47 GMT+08:00 2020
System.out.println(date);
date.setYear(94);
date.setMonth(2);
date.setDate(26);
date.setHours(21);
date.setMinutes(13);
date.setSeconds(14);
// Sat Mar 26 21:13:14 GMT+08:00 1994
System.out.println(date);
date.setTime(999999999);
//Mon Jan 12 21:46:39 GMT+08:00 1970
System.out.println(date);
2. Calendar类
- 得到Calendar对象
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance(TimeZone.getDefault());
Calendar calendar3 = Calendar.getInstance(Locale.getDefault());
Calendar calendar4 = Calendar.getInstance(TimeZone.getTimeZone("JST"), Locale.JAPAN);
- get方法
Calendar calendar = Calendar.getInstance();
// ear:1
int ear = calendar.get(Calendar.ERA);
// year:2020
int year = calendar.get(Calendar.YEAR);
// month:4
int month = calendar.get(Calendar.MONTH);
// week_of_year:21
int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR);
// week_of_month:4
int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);
// date:21
int date = calendar.get(Calendar.DATE);
// day_of_month:21
int day_of_month = calendar.get(Calendar.DAY_OF_MONTH);
// day_of_year:142
int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);
// day_of_week:5(星期日时1,星期四时5)
int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);
// day_of_week_in_month:3
int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);
// am_pm:1
int am_pm = calendar.get(Calendar.AM_PM);
// hour:3
int hour = calendar.get(Calendar.HOUR);
// hour_of_day:15
int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY);
// minute:34
int minute = calendar.get(Calendar.MINUTE);
// second:31
int second = calendar.get(Calendar.SECOND);
// millisecond:13
int millisecond = calendar.get(Calendar.MILLISECOND);
// zone_offset:28800000
int zone_offset = calendar.get(Calendar.ZONE_OFFSET);
- set方法
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, 1994);
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DATE, 26);
- 时间运算方法
calendar.add(Calendar.DATE, 3);
calendar.add(Calendar.MONTH, -1);
System.out.println(calendar.getTime());
3. TimeZone类
- 得到TimeZone对象
// sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null]
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
4. DateFormat类(该类位于java.text包下)
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd EEE HH:mm:ss");
// 2020-05-21 星期四 16:15:54
System.out.println(dateFormat.format(new Date()));