Java常用Date类的概述和方法使用
27.16 Date类
类 Date 表示特定的瞬间,精确到毫秒。
案例演示如图1所示:
图1
程序如下:
packagecom.xoxxl.otherclass;
importjava.util.Date;
publicclassDemo06_Date {
publicstaticvoidmain(String[] args) {
demo01();
demo02();
Date d1 =newDate();
d1.setTime(1000); //设置毫秒值,改变时间对象
System.out.println(d1);
}
privatestaticvoiddemo02() {
Date d1 =newDate(); //空参表示当前时间
System.out.println(d1.getTime());
//通过时间对象获取毫秒
System.out.println(System.currentTimeMillis());
//通过系统类的方法,获取当前时间毫秒值
}
privatestaticvoiddemo01() {
Date d1 =newDate(); //空参表示当前时间
System.out.println(d1);
Date d2 =newDate(0); //参数0表示1970年0时0分
System.out.println(d2);
}
}
27.17 SimpleDateFormat类
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。
SimpleDateFormat
是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
案例演示如图2所示:
图2
源程序如下:
packagecom.xoxxl.otherclass;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDemo07_SimpleDateFormat {
publicstaticvoidmain(String[] args)throwsParseException {
//DateFormat df1 = DateFormat.getDateInstance();
demo01();
demo02();
//将时间字符串转换为日期对象
String str = "2018年08月08日08:08:08";
SimpleDateFormat sdf =newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
Date d = sdf.parse(str);
System.out.println(d);
}
privatestaticvoiddemo02() {
Date d =newDate(); //获取当前时间对象
SimpleDateFormat sdf =newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); //创建日期格式化类对象
System.out.println(sdf.format(d));
//将日期对象装换为字符串
}
privatestaticvoiddemo01() {
Date d =newDate(); //获取当前时间对象
SimpleDateFormat sdf =newSimpleDateFormat();
System.out.println(sdf.format(d));
}
}
案例:计算你来到这个世界多少天?如图3所示:
图3
源程序如下:
packagecom.xoxxl.test;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassTest02 {
/**计算你来到这个世界多少天?
* 分析: 1,将生日字符串和今天字符串存在String类型的变量中
* 2,定义日期格式化对象
* 3,将日期字符串装换成日期对象
* 4,通过日期对象获取日期毫秒值
* 5,将两个时间毫秒值相减除以1000,再除以60,再除以60,再除以24得到天
*@throwsParseException
*/
publicstaticvoidmain(String[] args)throwsParseException {
//计算你来到这个世界多少天?
//1,将生日字符串和今天字符串存在String类型的变量中
String birthday = "1993年10月09日";
String today = "2018年07月23日";
//2,定义日期格式化对象
SimpleDateFormat sdf =newSimpleDateFormat("yyyy年MM月dd日");
//3,将日期字符串装换成日期对象
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(today);
//4,通过日期对象获取日期毫秒值
longtime = d2.getTime() - d1.getTime();
//5,将两个时间毫秒值相减除以1000,再除以60,再除以60,再除以24得到天
System.out.println(time / 1000 / 60 / 60 / 24);
}
}
感谢支持,我是小区学习录,喜欢点关注。每天根据小编的学习,持续分享学习的笔记与心得。
领取专属 10元无门槛券
私享最新 技术干货