美文网首页
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