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


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


Java 類中的Period 類獲取以年、月、日為單位的數量或時間量。獲取的時間是 ISO-8601 日曆係統中基於日期的時間量,例如“4 年、5 個月和 6 天”。支持的時間段單位為年、月和日。所有這三個字段始終存在,但可以設置為零。

用法:類聲明

public final class Period 
extends Object 
implements ChronoPeriod, Serializable

下麵以表格形式列出所有方法及其執行的操作:

方法 說明
addTo(Temporal temporal) 此方法將此周期添加到指定的時間對象。
between(LocalDate startDateInclusive, LocalDate endDateExclusive) 此方法獲取一個由兩個日期之間的年數、月數和天數組成的期間。
equals(Object obj) 此方法檢查此周期是否等於另一個周期。
from(TemporalAmount amount) 此方法從時間量中獲取 period 的實例。
get(TemporalUnit unit) 該方法獲取所請求單位的值。
getChronology() 該方法得到這一時期的年表,即ISO日曆係統。
getDays() 該方法獲取該時間段的天數。
getMonths() 此方法獲取此期間的月數。
getUnits() 此方法獲取該周期支持的單位集。
getYears() 該方法獲取該時期的年數。
hashCode() 該方法返回該時期的哈希碼。
isNegative() 此方法檢查該期間的三個單位中是否有任何一個為負。
isZero() 此方法檢查該期間的所有三個單位是否為零。
minus(TemporalAmount amountToSubtract) 此方法返回該期間的副本並減去指定期間。
minusDays(long daysToSubtract) 此方法返回該期間的副本,並減去指定的天數。
minusMonths(long monthsToSubtract) 此方法返回該期間的副本,並減去指定的月份。
minusYears(long yearsToSubtract) 此方法返回該期間的副本,並減去指定的年份。
multipliedBy(int scalar) 此方法返回一個新實例,其中該周期中的每個元素乘以指定的標量。
negated() 此方法返回一個新實例,該實例中的每個數量均被取反。
normalized() 此方法返回該期間的副本,其中年份和月份已標準化。
of(int years, int months, int days) 此方法獲取表示年數、月數和日數的期間。
ofDays(int days) 此方法獲取表示天數的期間。
ofMonths(int months) 此方法獲取代表月份數的期間。
ofWeeks(int weeks) 此方法獲取代表周數的期間。
ofYears(int years) 此方法獲取代表多年的期間。
parse(CharSequence text) 此方法從文本字符串(例如 PnYnMnD)獲取周期。
plus(TemporalAmount amountToAdd) 此方法返回添加了指定期間的該期間的副本。
plusDays(long daysToAdd) 此方法返回添加了指定天數的該期間的副本。
plusMonths(long monthsToAdd) 此方法返回添加了指定月份的該期間的副本。
plusYears(long yearsToAdd) 此方法返回添加了指定年份的該期間的副本。
subtractFrom(Temporal temporal) 此方法從指定的時間對象中減去該周期。
toString() 此方法將此周期輸出為字符串,例如 P6Y3M1D。
toTotalMonths() 此方法獲取此期間的總月數。
withDays(int days) 此方法返回具有指定天數的該期間的副本。
withMonths(int months) 此方法返回此期間的副本以及指定的月份數。
withYears(int years) 此方法返回具有指定年數的該期間的副本。

讓我們實現這個類的一些方法。

執行:

示例 1

Java


// Java program to illustrate Period class
// demonstrate the methods of this class
// Methods - minus() and ofMonths()
// Importing Period class from
// java.time package
import java.time.Period;
// Main class
public class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Obtaining period representing number of months
        // using of months() method by
        // creating object of period class
        Period p1 = Period.ofMonths(6);
        // minus() will return a copy of this period
        // with the specified period subtracted.
        Period p2 = p1.minus(Period.ofMonths(2));
        // Print and display on the console
        System.out.println(p2);
    }
}
輸出
P4M

為了討論更多的方法,我們再舉一個例子,如下:

方法一:該類的ofDays()方法用於從給定的天數中獲取一個周期作為參數。

用法:

public static Period ofDays(int numberOfDays)

參數:此方法接受單個參數天數,即要解析為 period 對象的天數。

返回:此函數返回周期,它是用給定天數解析的周期對象。

方法2:該類的addTo()方法將此Period添加到特定的時間對象中。

用法:

public Temporal addTo(Temporal temporal)

Parameters: 要調整的時間對象不應為空。

Return Type: 已進行調整的相同類型的對象。

異常:此方法會引發 DateTime 和算術異常。

示例 2

Java


// Java program to illustrate Period class
// demonstrate the methods of this class
// Methods like ofDays() and addTo()
// Importing all classes from java.time package
import java.time.*;
import java.time.temporal.Temporal;
// Main class
public class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Getting a period representing number of days
        // using ofDays() method
        Period p = Period.ofDays(24);
        // Adding this period to the
        // temporal object i.e. temp
        Temporal temp = p.addTo(LocalDate.now());
        // Print and display on the console
        System.out.println(temp);
    }
}
輸出
2021-03-29


相關用法


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