Java 8 YearMonth class

The java.time.YearMonth class is an immutable date-time object that represents the combination of a year and month.

Java YearMonth class methods

Method Description
Temporal adjustInto(Temporal temporal) It is used to adjust the specified temporal object to have this year-month.
String format(DateTimeFormatter formatter) It is used to format this year-month using the specified formatter.
int get(TemporalField field) It is used to get the value of the specified field from this year-month as an int.
boolean isLeapYear() It is used to check if the year is a leap year, according to the ISO proleptic calendar system rules.
static YearMonth now() It is used to obtain the current year-month from the system clock in the default time zone.
static YearMonth of(int year, int month) It is used to obtain an instance of YearMonth from a year and month.
YearMonth plus(TemporalAmount amountToAdd) It is used to return a copy of this year-month with the specified amount added.
YearMonth minus (TemporalAmount amountToSubtract) It is used to return a copy of this year-month with the specified amount subtracted.

Example

package com.w3schools;
 
import java.time.Period;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
 
public class TestExample {
	public static void main(String args[]){
		YearMonth yearMonth = YearMonth.now();  
		System.out.println(yearMonth);
 
		//format() method
		System.out.println(yearMonth.format(DateTimeFormatter.ofPattern("MM yyyy")));
 
		//plus() method
		System.out.println(yearMonth.plus(Period.ofYears(2)));
 
		//minus() method
		System.out.println(yearMonth.minus(Period.ofYears(2)));
 
	}  
}

Output

2018-04
04 2018
2020-04
2016-04