當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java java.time.YearMonth用法及代碼示例

Java YearMonth 類提供 “year-month” 格式的輸出。此類是一個不可變類,這意味著它定義的對象一旦創建,就永遠不會更改其值。通常會獲取從年份和月份派生的任何字段,例如quarter-of-year。此類不存儲或表示日期、時間或時區。例如,它不會顯示值“November-2006-12:00”,而是顯示“2007-11”。它繼承了thing類並實現了Comparable接口。

Java YearMonth 類實現 Temporal、TemporalAdjuster、Comparable<YearMonth>、Serializable

public final class YearMonth extends Object    

implements Temporal, TemporalAdjuster, Comparable<YearMonth>, Serializable  

方法 說明
adjustInto(Temporal temporal) 此方法調整指定的時間對象以具有此year-month。
atDay(int dayOfMonth) 此方法將此 year-month 與 day-of-month 組合以創建 LocalDate。
atEndOfMonth() 此方法在月底返回LocalDate。
compareTo(YearMonth other) 此方法將此year-month 與另一個year-month 進行比較。
equals(Object obj) 此方法檢查此year-month是否等於另一個year-month。
format(DateTimeFormatter formatter) 此方法使用指定的格式化程序格式化此year-month。
from(TemporalAccessor temporal) 此方法從時間對象獲取 YearMonth 的實例。
get(TemporalField field) 此方法從 year-month 獲取指定字段的 int 值。
getLong(TemporalField 字段) 此方法從year-month 中獲取指定字段的值。
getMonth() 此方法使用 Month 枚舉獲取 month-of-year 字段。
getMonthValue() 此方法獲取從 1 到 12 的 month-of-year 字段。
getYear() 此方法獲取年份字段。
hashCode() year-month 的哈希碼。
isAfter(YearMonth other) 此方法檢查此year-month是否在指定的year-month之後。
isBefore(YearMonth other) 此方法檢查此year-month是否在指定的year-month之前。
isLeapYear() 此方法根據 ISO 預測日曆係統規則檢查該年份是否為閏年。
isSupported(TemporalField 字段) 該方法檢查指定字段是否受支持。
isSupported(TemporalUnit unit) 此方法檢查是否支持指定的單位。
isValidDay(int dayOfMonth) 此方法檢查day-of-month對此year-month是否有效。
lengthOfMonth() 此方法返回月份的長度,並考慮年份。
lengthOfYear() 此方法返回年份的長度。
minus(long amountToSubtract, TemporalUnit unit) 此方法返回此 year-month 的副本,並減去指定的數量。
minus(TemporalAmount amountToSubtract) 此方法返回此 year-month 的副本,並減去指定的數量。
minusMonths(long monthsToSubtract) 此方法返回此 YearMonth 的副本,並減去指定的月數。
minusYears(long yearsToSubtract) 此方法返回此 YearMonth 的副本,並減去指定的年數。
now() 該方法從默認時區的係統時鍾獲取當前year-month。
now(Clock clock) 該方法從指定時鍾獲取當前year-month。
now(ZoneId zone) 該方法從指定時區的係統時鍾獲取當前year-month。
of(int year, int month) 此方法從年份和月份獲取 YearMonth 的實例。
of(int year, Month month) 此方法從年份和月份獲取 YearMonth 的實例。
parse(CharSequence text) 此方法從文本字符串(例如 2007-12)獲取 YearMonth 的實例。
parse(CharSequence text, DateTimeFormatter formatter) 此方法使用特定格式化程序從文本字符串中獲取 YearMonth 的實例。
plus(long amountToAdd, TemporalUnit 單位) 此方法返回添加了指定數量的 year-month 的副本。
plus(TemporalAmount amountToAdd) 此方法返回添加了指定數量的 year-month 的副本。
plusMonths(long monthsToAdd) 此方法返回此 YearMonth 的副本,並添加了指定的月份數。
plusYears(long yearsToAdd) 此方法返回添加了指定年數的 YearMonth 的副本。
查詢(TemporalQuery<R> 查詢) 此方法使用指定的查詢來查詢year-month。
range(TemporalField field) 此方法獲取指定字段的有效值範圍。
toString() 此方法將此 year-month 作為字符串輸出,例如 2007-12。
until(Temporal endExclusive, TemporalUnit unit) 此方法以指定單位計算直到另一個 year-month 為止的時間量。
with(TemporalAdjuster adjuster) 此方法返回此year-month的調整副本。
with(TemporalField field, long newValue) 此方法返回此 year-month 的副本,並將指定字段設置為新值。
withMonth(int month) 此方法返回 YearMonth 的副本,其中 month-of-year 已更改。
withYear(int year) 此方法返回 YearMonth 的副本,其中年份已更改。

下麵是JavaYearMonth類的一些方法的實現:

1. plus():返回此 year-month 的副本,並添加所需的數量。

Java


// plus() Method implementation 
import java.time.*; 
public class Example { 
    public static void main(String[] args) 
    { 
        YearMonth obj1 = YearMonth.now(); 
  
        // plus(Period.ofYears(int)) will add 
        // no.of years to the existing year 
        YearMonth obj2 = obj1.plus(Period.ofYears(0)); 
        System.out.println(obj2); 
    } 
}
輸出
2021-02

2. minus():返回此year-month的副本,並減去所需的數量。

Java


// minus() method implementation 
import java.time.*; 
public class Example { 
    public static void main(String[] args) 
    { 
        YearMonth obj1 = YearMonth.now(); 
  
        //.minus(Period.ofYears(int)) will subtract 
        // no. ofyears from the existing year 
        YearMonth obj2 = obj1.minus(Period.ofYears(3)); 
        System.out.println(obj2); 
    } 
}
輸出
2018-02


相關用法


注:本文由純淨天空篩選整理自mayanktyagi1709大神的英文原創作品 java.time.YearMonth Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。