Java基础-Date类常用方法介绍

时间:2023-03-08 23:45:08
Java基础-Date类常用方法介绍

              Java基础-Date类常用方法介绍

                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.毫秒值概念

  我们在查阅Date类的API文档时,会发现这样的一句话:"The class Date represents a specific instant in time, with millisecond precision. ",翻译成中文就是:“类 Date 表示特定的瞬间,精确到毫秒”。那上面是毫秒呢?

  毫秒在人类是很难感知到,因为“1000毫秒=1秒”。毫秒的零点也称为时间原点(公元1970年1月1日,午夜0:00:00,此刻的毫秒值就是0),我们可以通过“System.currentTimeMillis()”方法获取当前的毫秒值,它返回值为long类型参数。

  毫秒是相当重要的,重要到时间和日期的计算都需要依赖毫秒值进行计算。接下来我们可以打印一下你的操作系统的毫秒值哦。

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.Demo; public class RegexDemo {
public static void main(String[] args) {
long time = System.currentTimeMillis();
System.out.println(time);
}
} /*
以上代码执行结果如下:
1524038979482
*/

二.Date类的构造方法

1>.空参构造("Date()")

  获取到的是当前操作系统中的时间和日期。

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.Demo; import java.util.Date; public class RegexDemo {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
} /*
以上代码执行结果如下:
Wed Apr 18 16:19:54 GMT+08:00 2018
*/

2>.有参构造(date(long date))

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.Demo; import java.util.Date; public class RegexDemo {
public static void main(String[] args) {
//传递毫秒值,我们此处传递的是“0”,表示毫秒值的时间原点(注意操作系统的默认时间区域哟)
Date date = new Date(0);
System.out.println(date);
}
} /*
以上代码执行结果如下:
Thu Jan 01 08:00:00 GMT+08:00 1970
*/

三.Date类的get和set方法

1>.将日期对象转换成毫秒值(getTime)

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.Demo; import java.util.Date; public class RegexDemo {
public static void main(String[] args) {
//获取操作系统的当前时间
Date date = new Date();
System.out.println(date);
//将当前时间转换成毫秒
long time = date.getTime();
System.out.println(time);
}
} /*
以上代码执行结果如下:
Wed Apr 18 16:28:33 GMT+08:00 2018
1524040113837
*/

2>.毫秒值转换成日期对象

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.Demo; import java.util.Date; public class RegexDemo {
public static void main(String[] args) {
//在构造方法中也可以将时间戳转换成时间对象。
Date date = new Date(0);
System.out.println(date); Date date2 = new Date();
System.out.println(date2);
//传递一个long类型的数值进去即可。
date2.setTime(0);
System.out.println(date2); }
} /*
以上代码执行结果如下:
Thu Jan 01 08:00:00 GMT+08:00 1970
Wed Apr 18 16:34:47 GMT+08:00 2018
Thu Jan 01 08:00:00 GMT+08:00 1970
*/