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


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