在调用Date函数时,需要先导入相应包,主要是以下两个包
import java.util.Date;
Date 日期类
1.创建日期对象
年份从1900年算起 月份从零开始(1月-12月表示0–11)
Date date = new Date();//此时获取的是系统日期
System.out.println(date);
//带参创建 指定日期
Date date1 = new Date(2020 - 1900, 1 - 1, 5);
System.out.println(date1);
//年份从1900年算起 月份从零开始(1月-12月表示0--11)
输出结果
Sun Jan 05 15:17:41 CST 2020
Sun Jan 05 00:00:00 CST 2020
2.获取日期中的信息
年,月,日, 星期,时,分,秒
int year = date.getYear() + 1900;
System.out.println(year);
int month = date.getMonth() + 1;
System.out.println(month);
int day = date.getDate();
System.out.println(day);
//getDay()是获取星期 注意: 0表示星期日, 1代表是星期一
System.out.println(date.getDay());
int hours = date.getHours();
System.out.println(hours);
int minutes = date.getMinutes();
System.out.println(minutes);
int seconds = date.getSeconds();
System.out.println(seconds);
结果:
2020
1
5
0
15
17
41
3.计算时间间隔
//注意:重要!getTime()获取的是1970年到此日期的毫秒
//1000毫秒 = 1秒
//用来计算两个日期的时间间隔
long timer = date.getTime();
System.out.println(timer);
Date yesterDay = new Date(2020 - 1900, 1-1,4, 17, 23, 10);
long lastTimer = yesterDay.getTime();
long result = (timer - lastTimer)/1000 /60 /60;
System.out.println(result);
结果:
1578208661464
21
Date和String 的相互转化
需要导入一个异常处理的包和格式转化的包
import java.text.SimpleDateFormat;
import java.text.ParseException;
将Date转换成String
MM 月份 , mm分钟 HH 24小时制
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH");
String dateStr = format.format(date);
System.out.println(dateStr);
//将字符串转换成Date
String strtime = "2000年09月09日 12:22:25";
SimpleDateFormat format2 = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
Date newDate = null;
try {
newDate = format2.parse(strtime);
} catch (ParseException e) {
// TODO: handle exception
e.printStackTrace();
}
System.out.println(newDate);
结果:
2020-01-05 15
Sat Sep 09 12:22:25 CST 2000