前言:时间标准时间GMT(GreenWichTime),时间原点1979-1-1 00:00
1.Date类的有参构造和无参构造的区别
package com.guancun; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws ParseException { SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); Date d1=new Date();//把当前时间封装成了一个Date对象,d1获取当前系统时间 Fri Apr 30 19:13:51 CST 2021 System.out.println(d1); Date d2=new Date(0);//把从时间原点开始过了指定毫秒的时间封装成一个Date对象(有时间差中国加8小时)Thu Jan 01 08:00:00 CST 1970 System.out.println(d2); simpleDateFormat.format(d2); System.out.println(simpleDateFormat.parse("2000-1-1").getTime()); } }
2.JDK8时间日期类的和原来加一天的对比
package com.guancun; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; public class JDk8 { public static void main(String[] args) throws ParseException { //在原有时间上加一天 String oldtime = "2000-01-01 00:00:00"; //旧方法 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); oldmethod(oldtime,simpleDateFormat); //新方法 DateTimeFormatter dateTimeFormatter= DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); newmethod(oldtime,dateTimeFormatter); } private static void newmethod(String oldtime, DateTimeFormatter dateTimeFormatter) { LocalDateTime parse = LocalDateTime.parse(oldtime, dateTimeFormatter); LocalDateTime localDateTime = parse.plusDays(1L); System.out.println(dateTimeFormatter.format(localDateTime)); } private static void oldmethod(String oldtime,SimpleDateFormat simpleDateFormat) throws ParseException { long time1 = simpleDateFormat.parse(oldtime).getTime();//获取原时间毫秒 long time2=1000*60*60*24;//计算出一天的毫秒 Date date=new Date(time1+time2);//毫秒总数封装成Date对象 System.out.println(simpleDateFormat.format(date)); } }