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
相关用法
- Java java.time.YearMonth.adjustInto()用法及代码示例
- Java java.time.YearMonth.atDay()用法及代码示例
- Java java.time.YearMonth.atEndOfMonth()用法及代码示例
- Java java.time.YearMonth.compareTo()用法及代码示例
- Java java.time.YearMonth.equals()用法及代码示例
- Java java.time.YearMonth.format()用法及代码示例
- Java java.time.YearMonth.from()用法及代码示例
- Java java.time.YearMonth.get()用法及代码示例
- Java java.time.YearMonth.getLong()用法及代码示例
- Java java.time.YearMonth.getMonth()用法及代码示例
- Java java.time.YearMonth.getMonthValue()用法及代码示例
- Java java.time.YearMonth.getYear()用法及代码示例
- Java java.time.YearMonth.hashCode()用法及代码示例
- Java java.time.YearMonth.isAfter()用法及代码示例
- Java java.time.YearMonth.isBefore()用法及代码示例
- Java java.time.YearMonth.isLeapYear()用法及代码示例
- Java java.time.YearMonth.isLeap()用法及代码示例
- Java java.time.YearMonth.isSupported()用法及代码示例
- Java java.time.YearMonth.isValidDay()用法及代码示例
- Java java.time.YearMonth.lengthOfMonth()用法及代码示例
- Java java.time.YearMonth.lengthOfYear()用法及代码示例
- Java java.time.YearMonth.minus()用法及代码示例
- Java java.time.YearMonth.minusMonths()用法及代码示例
- Java java.time.YearMonth.minusYears()用法及代码示例
- Java java.time.YearMonth.now()用法及代码示例
注:本文由纯净天空筛选整理自mayanktyagi1709大神的英文原创作品 java.time.YearMonth Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。