JDK8日期时间对象

1、LocalDate、LocalTime、LocalDateTime

package demo;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * @description: demo17
 * @author: liuyang
 * @create: 2021-08-30 16:21
 */
public class Demo17 {
    public static void main(String[] args) {
        // 当前日期
        LocalDate localDate = LocalDate.now();
        // 当前时间
        LocalTime localTime = LocalTime.now();
        // 当前日期+时间
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(localDateTime);
        // 创建指定日期对象
        LocalDate localDate1 = LocalDate.of(2019, 8, 30);
        // 创建指定日期时间对象
        LocalDateTime localDateTime1 = LocalDateTime.of(2021, 8, 30, 16, 31, 50);
        System.out.println(localDate1);
        System.out.println(localDateTime1);
        // 一个月的第几天
        System.out.println(localDateTime1.getDayOfMonth());
        // 一周的第几天
        System.out.println(localDateTime1.getDayOfWeek());
        // 月份英文
        System.out.println(localDateTime1.getMonth());
        // 月份数字
        System.out.println(localDateTime1.getMonthValue());
        // 时间中的分钟
        System.out.println(localDateTime1.getMinute());
        // 在localDate1的基础上得到一个新的日期对象且为一个月的第18天
        LocalDate localDate2 = localDate1.withDayOfMonth(18);
        // 在localDateTime2的基础上得到一个新的日期时间对象且小时数为18
        LocalDateTime localDateTime2 = localDateTime1.withHour(18);
        System.out.println(localDate2);
        System.out.println(localDateTime2);
        // 在localDate3的基础上得到一个新的日期对象且新日期在原来日期上加1天
        LocalDate localDate3 = localDate1.plusDays(1);
        // 在localDateTime3的基础上得到一个新的日期时间对象且在原来的小时上减去4小时
        LocalDateTime localDateTime3 = localDateTime1.minusHours(4);
        System.out.println(localDate3);
        System.out.println(localDateTime3);
    }
}

2、Instant(瞬时点)

package demo;

import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;

/**
 * @description: demo18
 * @author: liuyang
 * @create: 2021-08-30 16:54
 */
public class Demo18 {
    public static void main(String[] args) {
        // 获取本初子午线对应的标准时间
        Instant instant = Instant.now();
        // 获取东八区对应的时间
        OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
        System.out.println(instant);
        System.out.println(offsetDateTime);
        // 获取瞬时点对应的毫秒数
        long epochMilli = instant.toEpochMilli();
        System.out.println(epochMilli);
        // 某个毫秒数对应的瞬时点
        Instant instant1 = Instant.ofEpochMilli(epochMilli);
        System.out.println(instant1);
    }
}

 

JDK8日期时间对象

上一篇:strace 跟踪系统调用


下一篇:[TJOI2017]可乐