Date的使用(jdk8版本--推荐版)

Date的使用(jdk8版本的)

package _366After.src.javeTeacher.DateTime.date_time;

import org.testng.annotations.Test;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.util.Date;

//jdk8新版本的Date
public class Date_Time_Test_new8 {
    @Test
    public void testDate() {
        //1- 有偏移量(不推荐X) -----X(直接跳过这个垃圾方法)
        Date date = new Date(2022 - 1900, 6 - 1, 6);//2022-6-6
        System.out.println(date);
    }
    
    
//——————————————————————————————————————————————————————————————————————————————————————————————————————————    

    
    /*
    2- lockDate、LocalTime、LocalDateTime
     */
    @Test
    public void test() {

        //now();获取当前日期、时间、日期+时间
        LocalDate localDate = LocalDate.now(); //获取-年月日
        LocalTime localTime = LocalTime.now(); //获取-时分秒
        LocalDateTime localDateTime = LocalDateTime.now();//获取--年月日时分秒

        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(localDateTime);

        //of();  设置--年月日时分秒(没有偏移量)
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 6, 6, 10, 10, 10);
        System.out.println(localDateTime1);

        //getXXX  获取对应信息
        System.out.println(localDateTime.getDayOfMonth());
        System.out.println(localDateTime.getDayOfWeek());
        System.out.println(localDateTime.getMonth());
        System.out.println(localDateTime.getMonthValue());
        System.out.println(localDateTime.getMinute());

        //withXXX(修改对应信息)   (原来的不变,新建一个) --> 不可变性
        LocalDate localDate1 = localDate.withDayOfMonth(22);
        System.out.println(localDate);
        System.out.println(localDate1);

        //plus 增加多少 --> 不可变性
        LocalDateTime localDateTime2 = localDateTime.plusMonths(3);
        System.out.println(localDateTime);
        System.out.println(localDateTime2);

        System.out.println("__________________________");

        //minus 减少  --> 不可变性
        LocalDateTime localDateTime3 = localDateTime.minusMonths(3);
        System.out.println(localDateTime);
        System.out.println(localDateTime3);
    }

 //——————————————————————————————————————————————————————————————————————————————————————————————————————————    

    
    /*
    3- instant (获取时区的)
     */
    @Test
    public void test1() {
        //Instant.now();获取本初子午线的标准时间
        Instant instant = Instant.now();
        System.out.println(instant);

        //自己设置时区的时间(中国--东8区)
        OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));//东8区
        System.out.println(offsetDateTime);


        //下面的*和*对应

        //*获取1970/1/1/0/0/0  -- 开始的毫秒数
        long milli = instant.toEpochMilli();
        System.out.println(milli);

        //*通过给定的毫秒数,获取Instant的实例
        Instant instant1 = Instant.ofEpochMilli(1654505787982L);
        System.out.println(instant1);
    }
    
 //——————————————————————————————————————————————————————————————————————————————————————————————————————————    


    /*
    4- DateTimeFarmatter:格式化 OR 解析--日期、时间
     */
    @Test
    public void test3() {
        //1- 自定义--格式
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");

        //格式化 -- Date --> String
        String str = dateTimeFormatter.format(LocalDateTime.now());
        System.out.println(str);

        //解析 String --> Date(再将Date --> java.sql.Date方便存入数据库)
        TemporalAccessor parse = dateTimeFormatter.parse("2022-06-06 05:16:14");
        System.out.println(parse);
    }

}

 

posted on 2022-06-06 17:24  陈嘻嘻-  阅读(146)  评论(0编辑  收藏  举报

导航