类的概述:
类,表示一个日期和时间,内部精确到毫秒
类中的构造方法:
public Date():创建当前系统时间对应的日期对象
public Date(long date):创建以标准基准时间为基准 指定偏移毫秒数,对应时间的日期对象
3.标准基准时间:
0时区:1970年1月1日00:00:00 GMT 格林威治标准时间
东8区:1970年1月1日08:00:00 CST 中国标准时间
// 创建当前系统时间对应的日期对象
Date date = new Date();
(date); //Mon Aug 16 20:00:14 CST 2021
// 创建以标准基准时间为基准的日期对象 指定偏移1000毫秒
Date date1 = new Date(1000);
(date1); //Thu Jan 01 08:00:00 CST 1970
类常用方法:
1、 - public long getTime():获取当前日期对象距离标准基准时间的毫秒值
2、 - public void setTime(long time):设置当前日期对象距离标准基准时间的毫秒值,意味着改变了当前日期对象
3、 - public boolean after(Date when):测试此日期是否在指定日期之后
4、 - public boolean before(Date when):测试此日期是否在指定日期之前
// 创建当前系统时间对应的日期对象
Date date = new Date();
(date);
// 创建以标准基准时间为基准的日期对象 指定偏移1000毫秒
Date date1 = new Date(1000);
(date1);
// 获取当前日期对象 距离 标准基准时间的 毫秒值
(());
(());
// 修改date1距离标准基准时间的毫秒值为2000
long time = ();
(time+2000);
(date);
long time1 = ();
(time1);
(time1+2000);
(date1);
// 创建当前时间对应的日期对象
Date date2 = new Date();
(());
("date3表示的日期是否在date1之前:"+(date));
("date3表示的日期是否在date1之后:"+(date));
5、DateFormat类
类:是 日期/时间 格式化子类的 抽象类
作用:完成日期和文本之间的转换,也就是在Date对象和String对象之间来回进行转换
- 格式化:按照指定格式,把Date对象转换为String对象
- 解析:按照指定格式,把String对象转换为Date对象
特点:
由于DateFormat时抽象类,无法创建对象,所以只能使用其子类SimpleDateFormat类
6、SimpleDateFormat类:
类:是日期/时间格式化的类
作用:可以在Date对象与String对象之间来回进行切换
构造方法:
public SimpleDateFormat(String pattern):创建日期格式化对象,并且通过参数指定日期格式
日期格式:
y --> 年 year
M --> 月 mouth
d --> 日 day
H --> 时 hour
m --> 分 minute
s --> 秒 second
常见的日期格式:
- yyyy年MM月dd日 HH时mm分ss秒
- yyyy-MM-dd HH:mm:ss
- yyyy-MM-dd
- HH:mm:ss
成员方法:
- public String format(Date date):将Date对象格式化为字符串对象
- public Date parse(String source):将字符串解析为Date对象
// 需求:把Date类型的对象转换为String类型
// 1.创建当前日期对象
Date date = new Date();
// 2.创建日期格式化对象,并且指定日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
String strtime = (date);
(strtime);
// 需求:把String类型的对象转换成Date类型
String str = "20201217125828";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddhhmmss");
Date date1 = (str);
(date1);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日hh时mm分ss秒");
String string1 = (date1);
(string1);
7.代码练习实例:
import ;
import ;
import ;
import ;
public class Tests {
public static void main(String[] args) throws ParseException {
/*
* 需求:键盘录入一个字符串类型的时间(你的生日),打印你来到世界多少天?
*
* */
Scanner scanner = new Scanner();
("输入你的生日:");
String str = ();
//现在的时间
Date date = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
//解析传入的时间
Date parse = (str);
//获取现在时间的毫秒值
long time = ();
//获取传进来时间的毫秒值
long time1 = ();
//现在的时间-输入进来的时间
long t = time - time1;
//把毫秒值转换为天
int d = (int) (t/1000/60/60/24);
(d);
}
}