java核心技術卷一(三)物件引用與建立,LocalDate的用法
阿新 • • 發佈:2019-01-31
Date now = new Date();
當我們使用上面這個語法之時,實際上是實現了兩個過程,第一個是使用new關鍵字建立了一個物件,另外一個過程是將這個建立的物件與變數now關聯到了一起。在java中任何變數的值都是對儲存在另一個地方的一個物件的引用,這一點很關鍵。
System.out.println(new Date());
當我們在使用上面一個語法之時,其實也建立了一個物件,這不過沒有給這個物件取名字,而直接使用了。通常,如果希望一個物件多次使用,我們還是需要給這個物件起一個名字的,也就是說需要把這個物件的引用存到一個變數之中。
Date someday = now;
使用這句話時,我們並沒有建立一個新的物件,而是相當於給之前建立的那個名字稱為now的物件起了一個別名。
當然,Date這個類中很多方法都不太使用了,在java8中推薦使用LocalDate這個類來處理日期。
我們使用 LocalDate now = LocalDate.now();來建立一個日期,該日期是不可變的,當使用方法操作該日期時,實際上是返回了一個新的 LocalDate。
LocalDate常用方法
- 1
- 2
方法 | 描述 |
---|---|
now,of | 根據當前時間或指定年月日來建立LocalDate物件 |
plusDays,plusWeeks,plusMonths,plusYears | 向當前物件新增天、周、月、年 |
minusDays,minusWeeks,minusMonths,plusYears | 向當前物件減去天、周、月、年 |
plus,minus | 新增或減少一個Duration或者Perid |
WithDayOfMonth,WithDayOfYear,withMonth,withYear | 將月份天數、年份天數、年份修改為指定的值,並返回一個新的LocalDate物件 |
getDayOfMonth | 獲得月份天數(1~31) |
getDayOfYear | 獲得年份天數(1~366) |
getDayOfWeek | 獲得星期幾 |
getMonth,getMonthValue | 獲得月份,或者Month列舉值,或者1-12數字 |
getYear | 獲得年份 |
isBefore,isAfter | 比較日期 |
isleapYear | 是否為閏年 |
LocatTime常用方法
- 1
- 2
方法 | 描述 |
---|---|
now,of | 根據當前時間或指定年月日來建立LocalTime物件 |
plusHours,plusMinutes,plusSeconds,plusNanos | 向當前物件新增時、分秒、微秒 |
minusHours,minusMinutes,minusSeconds,minusNanos | 向當前物件減去時、分秒、微秒 |
plus,minus | 新增或減少一個Duration |
WithHour,WithMinute,withSecond,withNano | 將時、分、秒、微秒修改為指定的值,並返回一個新的LocalTime物件 |
getHour,getMinute,getSecond,getNano | 獲取事件物件的時、分、秒、微秒 |
isBefore,isAfter | 比較時間 |