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

时间:2023-02-17 08:38:52

              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类型参数。

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

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.Demo;
 8 
 9 
10 public class RegexDemo {
11     public static void main(String[] args) {
12         long time = System.currentTimeMillis();
13         System.out.println(time);
14     }
15 }
16 
17 /*
18  以上代码执行结果如下:
19  1524038979482
20  */

 

二.Date类的构造方法

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

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

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

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

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

 

三.Date类的get和set方法

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

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

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

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.Demo;
 8 
 9 import java.util.Date;
10 
11 public class RegexDemo {
12     public static void main(String[] args) {
13         //在构造方法中也可以将时间戳转换成时间对象。
14         Date date = new Date(0);
15         System.out.println(date);
16         
17         Date date2 = new Date();
18         System.out.println(date2);
19         //传递一个long类型的数值进去即可。
20         date2.setTime(0);
21         System.out.println(date2);
22 
23     }
24 }
25 
26 
27 /*
28 以上代码执行结果如下:
29 Thu Jan 01 08:00:00 GMT+08:00 1970
30 Wed Apr 18 16:34:47 GMT+08:00 2018
31 Thu Jan 01 08:00:00 GMT+08:00 1970
32 */