zoukankan      html  css  js  c++  java
  • JDK8 时间相关API基本使用

      1 package com.atguigu.date;
      2 
      3 import java.time.Clock;
      4 import java.time.DayOfWeek;
      5 import java.time.Duration;
      6 import java.time.Instant;
      7 import java.time.LocalDate;
      8 import java.time.LocalDateTime;
      9 import java.time.LocalTime;
     10 import java.time.MonthDay;
     11 import java.time.Period;
     12 import java.time.ZoneId;
     13 import java.time.ZonedDateTime;
     14 import java.time.format.DateTimeFormatter;
     15 import java.time.format.FormatStyle;
     16 import java.time.temporal.TemporalAdjuster;
     17 import java.time.temporal.TemporalAdjusters;
     18 import java.util.Set;
     19 
     20 import org.junit.Test;
     21 
     22 public class TestDate {
     23     @Test
     24     public void testDateTimeFormatter(){
     25         DateTimeFormatter df = DateTimeFormatter.ISO_DATE;
     26         LocalDate date = LocalDate.now();
     27         System.out.println(df.format(date));
     28         System.out.println(date.format(df));
     29         
     30         DateTimeFormatter of = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);//只有日期类型才可以使用FULL
     31         System.out.println(of.format(LocalDate.now()));
     32         
     33         //日期时间不可以使用FULL
     34         DateTimeFormatter dtf = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
     35         System.out.println(dtf.format(LocalDateTime.now()));//2017年8月14日 下午08时47分15秒
     36     
     37         DateTimeFormatter op = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
     38         System.out.println(op.format(LocalDateTime.now()));
     39     }
     40     @Test
     41     public void testTemporalAdjuster(){
     42         LocalDate now = LocalDate.now();//2017-8-26
     43         TemporalAdjuster t = TemporalAdjusters.next(DayOfWeek.SUNDAY);
     44         LocalDate nd = now.with(t);//最近的那个星期天
     45         System.out.println(nd);
     46         
     47         
     48     }
     49     
     50     @Test
     51     public void testPeriod(){
     52         Period p = Period.between(LocalDate.of(2016, 1, 1), LocalDate.now());
     53         System.out.println(p);//P7M13D
     54         
     55         System.out.println(p.getYears());//1年
     56         System.out.println(p.getMonths());//又7个月
     57         System.out.println(p.getDays());//零25天
     58         System.out.println(p.toTotalMonths());//总共19个月
     59         
     60     }
     61     @Test
     62     public void testDuration(){
     63         Duration dur = Duration.between( Instant.ofEpochMilli(Integer.MAX_VALUE),Instant.now());
     64         System.out.println(dur);
     65         
     66         System.out.println(dur.toDays());
     67         System.out.println(dur.toHours());
     68         System.out.println(dur.toMinutes());
     69         System.out.println(dur.toMillis());
     70         System.out.println(dur.toNanos());
     71         
     72         System.out.println(dur.getSeconds());
     73         System.out.println(dur.getNano());
     74     }
     75     
     76     
     77     @Test
     78     public void testInstant(){
     79         Instant now = Instant.now();
     80         System.out.println(now);
     81         
     82     }
     83     
     84     @Test
     85     public void testLocalDate2(){
     86         LocalDate t1 = LocalDate.now();//只有日期
     87         
     88         System.out.println(t1.plusDays(45));//45天以后是什么日期  2017-10-10
     89         System.out.println(t1.minusDays(20));
     90         System.out.println(t1.plusWeeks(2));
     91         
     92         System.out.println(t1.with(TemporalAdjusters.firstDayOfMonth()));
     93         System.out.println(t1.with(TemporalAdjusters.lastDayOfMonth()));
     94         
     95         System.out.println(t1.isLeapYear());
     96         
     97         MonthDay month = MonthDay.of(8, 14);
     98         MonthDay from = MonthDay.from(t1);
     99         System.out.println("是否是你的生日:"+month.equals(from));
    100     }
    101     
    102     @Test
    103     public void testLocalDate(){
    104         LocalDate t1 = LocalDate.now();//只有日期
    105         System.out.println(t1);
    106         
    107         System.out.println("年:"+t1.getYear());
    108         System.out.println("月:"+t1.getMonth());
    109         System.out.println("日:"+t1.getDayOfMonth());
    110         System.out.println("星期:"+t1.getDayOfWeek());
    111         
    112         LocalTime t2 = LocalTime.now();//只有时间
    113         System.out.println(t2);
    114         System.out.println("时:" + t2.getHour());
    115         System.out.println("分:" + t2.getMinute());
    116         System.out.println("秒:" + t2.getSecond());
    117         System.out.println("纳秒:" +t2.getNano());
    118         
    119         System.out.println(t2.plusHours(12));
    120         
    121         LocalDateTime t3 = LocalDateTime.now();//有日期和时间
    122         System.out.println(t3);
    123     }
    124     
    125     @Test
    126     public void test(){
    127         ZonedDateTime now = ZonedDateTime.now();
    128         System.out.println(now);
    129         
    130         Clock c = Clock.system(ZoneId.of("America/New_York"));
    131         ZonedDateTime now2 = ZonedDateTime.now(c);
    132         System.out.println(now2);
    133         
    134         Clock c3 = Clock.system(ZoneId.of("Asia/Tokyo"));
    135         ZonedDateTime now3 = ZonedDateTime.now(c3);
    136         System.out.println(now3);
    137         
    138         
    139     }
    140     
    141     @Test
    142     public void testClock(){
    143 /*        Clock clock = Clock.systemDefaultZone();
    144         System.out.println(clock);
    145         System.out.println(clock.millis());
    146         
    147         Clock c = Clock.system(ZoneId.of("America/New_York"));
    148         System.out.println(c);
    149         System.out.println(c.millis());*/
    150         
    151         Set<String> availableZoneIds = ZoneId.getAvailableZoneIds();
    152         for (String string : availableZoneIds) {
    153             System.out.println(string);
    154         }
    155     }
    156 }
  • 相关阅读:
    电子商务运营模式
    PHP 常用资源
    Ajax 常用资源
    java 常用资源
    Net 常用资源
    Web App 响应式页面制作 笔记整理
    移动端click事件延迟300ms该如何解决
    阻止冒泡事件
    关于jquery stopPropagation()阻止冒泡事件
    集算器如何处理类文本数据计算
  • 原文地址:https://www.cnblogs.com/buxiu/p/13335348.html
Copyright © 2011-2022 走看看