2020-05-05 时间工具

好用的时间工具

package com.zhoufudun.java8;

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

/**
 *  LocalDate是线程安全的
 *  LocalTime 是线程安全的
 *  LocalDateTime是线程安全的
 */
public class DateTest {
    public static void main(String[] args) {
        testLocalDate();
        testLocalTime();
        testLocalDateTime();
        testInstance();
        testDuration();
        testPeriod();
        testDateFormat();
        testDateParse();
    }

    private static void testLocalDate() {
        LocalDate date = LocalDate.of(2020, 04, 19);
        System.out.println(date.getYear());
        System.out.println(date.getMonth());
        System.out.println(date.getDayOfWeek());
        System.out.println(date.getDayOfMonth());
        System.out.println(date.getDayOfYear());
        System.out.println(date.getEra());
        System.out.println(date.getMonthValue());

        LocalDate.now();
    }
    private static void testLocalTime() {
        LocalTime time = LocalTime.now();
        System.out.println(time.getHour());
        System.out.println(time.getMinute());
        System.out.println(time.getSecond());
        System.out.println(time.getNano());
    }
    private static void testLocalDateTime() {
//        LocalTime time = LocalTime.now();
//        LocalDate date = LocalDate.now();
//        LocalDateTime of = LocalDateTime.of(date, time);
        LocalDateTime dateTime = LocalDateTime.now();
        System.out.println(dateTime.getDayOfMonth());
        System.out.println(dateTime.getDayOfWeek());
        System.out.println(dateTime.getDayOfYear());
        System.out.println(dateTime.getHour());
        System.out.println(dateTime.getMinute());
        System.out.println(dateTime.getMonth());
        System.out.println(dateTime.getNano());
        System.out.println(dateTime.getSecond());
        System.out.println(dateTime.getYear());
    }
    private static void testInstance() {
        try {
            Instant start = Instant.now();
            Thread.sleep(1000L);
            Instant end = Instant.now();
            Duration between = Duration.between(start, end);
            System.out.println(between.toMillis());
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    /**
     * 时间段
     */
    private static void testDuration() {
        LocalTime start = LocalTime.now();
        LocalTime before = start.minusHours(1);
        Duration duration = Duration.between(start, before);
        System.out.println(duration.toHours());
    }

    /**
     * 时间范围
     */
    private static void testPeriod(){
        Period between = Period.between(
                LocalDate.of(2020, 4, 15),
                LocalDate.of(2016, 2, 10)
        );
        System.out.println(between.getYears());
        System.out.println(between.getDays());
        System.out.println(between.getMonths());
    }
    private static void testDateFormat(){
        LocalDate date = LocalDate.now();
        String format1 = date.format(DateTimeFormatter.BASIC_ISO_DATE);
        String format2 = date.format((DateTimeFormatter.ISO_LOCAL_DATE));
        System.out.println(format1);
        System.out.println(format2);
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String format3 = date.format(dateTimeFormatter);
        System.out.println(format3);
    }
    private static void testDateParse(){
        String date="20200420";
        LocalDate parse = LocalDate.parse(date, DateTimeFormatter.BASIC_ISO_DATE);
        System.out.println(parse);
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        String date2="2020-01-09";
        LocalDate parse2 = LocalDate.parse(date2, dateTimeFormatter);
        System.out.println(parse2);
    }
}

输出结果:


image.png

获取时间非常方便。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。