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 152403897948220 */
二.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 201822 */
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 197023 */
三.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 201826 152404011383727 */
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 197030 Wed Apr 18 16:34:47 GMT+08:00 201831 Thu Jan 01 08:00:00 GMT+08:00 197032 */