时间日期类

前言:时间标准时间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));


    }
}

 

上一篇:SimpleDateFormat线程不安全的5种解决方案


下一篇:Java时间到达提醒