当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。