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 */