美文网首页
2020-05-05 时间工具

2020-05-05 时间工具

作者: 中托马斯回旋踢 | 来源:发表于2020-05-05 09:51 被阅读0次

好用的时间工具

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

获取时间非常方便。

相关文章

网友评论

      本文标题:2020-05-05 时间工具

      本文链接:https://www.haomeiwen.com/subject/uovpghtx.html