關於LocalDate的使用

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;



public class LocalDateTest {


    public static void main(String[] args) {


        //當前日期
        LocalDate localDate = LocalDate.now();


        LocalDate localDate1 = LocalDate.of(2017, 11, 10);
        //也可以通過parse定義
        //LocalDate now3 = LocalDate.parse("2018-01-12");

        LocalDate localDate2 = LocalDate.of(2017, 11, 10);
        //當前的年
        System.out.println(localDate.getYear());
        //當前的月份
        System.out.println(localDate.getMonth());
        //當前的月份
        System.out.println(localDate.getMonthValue());
        //當前日期是星期幾
        System.out.println(localDate.getDayOfWeek());
        //當前的天數在一年中是第幾天
        System.out.println(localDate.getDayOfYear());
        //當前日期是這個月的第幾天
        System.out.println(localDate.getDayOfMonth());
        //每個月的天數
        System.out.println(localDate.lengthOfMonth());
        //這一年有多少天
        System.out.println(localDate.lengthOfYear());
        //是否是閏年
        System.out.println(localDate.isLeapYear());
        //當前日期減一個月
        System.out.println(localDate.minusMonths(1));
        //當前日期減一年
        System.out.println(localDate.minusYears(1));
        //當前日期減一個星期
        System.out.println(localDate.minusWeeks(1));
        System.out.println(localDate.MIN);


        System.out.println(localDate.MAX);
        //時間的判斷判斷先後
        System.out.println(localDate.isBefore(localDate.minusMonths(1)));
        System.out.println(localDate.isBefore(localDate.plusMonths(1)));
        System.out.println(localDate.isAfter(localDate1));


        //修改指定本地日期,獲取新的對象,在原來的對象上指定時間修改
        LocalDate localdate1 = localDate.withDayOfMonth(1);
        LocalDate localdate2 = localDate.withDayOfYear(1);
        LocalDate localdate3 = localDate.withMonth(1);
        LocalDate localdate4 = localDate.withYear(2018);


        System.out.println(localdate1);
        System.out.println(localdate2);
        System.out.println(localdate3);
        System.out.println(localdate4);


        LocalDate today = LocalDate.now();
        // 取本月第1天:
        LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth());
        // 取本月第2天:
        LocalDate secondDayOfThisMonth = today.withDayOfMonth(2);
        // 取本月最後一天,再也不用計算是28,29,30還是31:
        LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth());
        // 取下一天:
        LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); 
        // 取2017年1月第一個週一
        LocalDate firstMondayOf2015 = LocalDate.parse("2017-01-01").with(
            TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); 
        //比較二個時間是否相等
        System.out.println(localDate1.equals(localDate2));
        System.out.println(localDate1.equals(localdate2));


        //比較二個時間的大小,返回是年,月,日的天數的差值
        System.out.println(localDate1.compareTo(localDate2));
        System.out.println(localDate1.compareTo(localdate2));


        //二個日期相差的天數,年,月,等
        long days = localdate2.until(localdate4, ChronoUnit.DAYS);
        long hour = localdate2.until(localdate4, ChronoUnit.YEARS);
        System.out.println(days);
        System.out.println(hour);


    }


}
getYear()    int    獲取當前日期的年份

getMonth()    Month    獲取當前日期的月份對象

getMonthValue()    int    獲取當前日期是第幾月

getDayOfWeek()    DayOfWeek    表示該對象表示的日期是星期幾

getDayOfMonth()    int    表示該對象表示的日期是這個月第幾天

getDayOfYear()    int    表示該對象表示的日期是今年第幾天

withYear(int year)    LocalDate    修改當前對象的年份

withMonth(int month)    LocalDate    修改當前對象的月份

withDayOfMonth(int dayOfMonth)    LocalDate    修改當前對象在當月的日期

isLeapYear()    boolean    是否是閏年

lengthOfMonth()    int    這個月有多少天

lengthOfYear()    int    該對象表示的年份有多少天(365或者366)

plusYears(long yearsToAdd)    LocalDate    當前對象增加指定的年份數

plusMonths(long monthsToAdd)    LocalDate    當前對象增加指定的月份數

plusWeeks(long weeksToAdd)    LocalDate    當前對象增加指定的週數

plusDays(long daysToAdd)    LocalDate    當前對象增加指定的天數

minusYears(long yearsToSubtract)    LocalDate    當前對象減去指定的年數

minusMonths(long monthsToSubtract)    LocalDate    當前對象減去註定的月數

minusWeeks(long weeksToSubtract)    LocalDate    當前對象減去指定的週數

minusDays(long daysToSubtract)    LocalDate    當前對象減去指定的天數

compareTo(ChronoLocalDate other)    int    比較當前對象和other對象在時間上的大小,返回值如果爲正,則當前對象時間較晚,

isBefore(ChronoLocalDate other)    boolean    比較當前對象日期是否在other對象日期之前

isAfter(ChronoLocalDate other)    boolean    比較當前對象日期是否在other對象日期之後

isEqual(ChronoLocalDate other)    boolean    比較兩個日期對象是否相等

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章