Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

java
communitycreator

What is DateUtils.setYears() in Java?

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

Overview

setYears() is a staticthe methods in Java that can be called without creating an object of the class. method of the DateUtils class that is used to set the year field of the Date object and return a new Date object. The original Date object remains unchanged.

How to import DateUtils

The definition of DateUtils can be found in the Apache Commons Lang package, which we can add to the Maven project by adding the following dependency to the pom.xml file:


<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
</dependency>

For other versions of the commons-lang package, refer to the Maven Repository.

You can import the DateUtils class as follows:


import org.apache.commons.lang3.time.DateUtils;

Syntax


public static Date setYears(final Date date, final int amount)

Parameters

  • final Date date: The original Date object.
  • final int amount: The new value of years to set.

Return value

This method returns a new Date object with the year field set to the specified value.

Code

import org.apache.commons.lang3.time.DateUtils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main{
public static void main(String[] args) {
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss:SS");
int newYearValue = 2030;
Date newDate = DateUtils.setYears(date, newYearValue);
System.out.printf("DateUtils.setYears(%s, %s) = %s", dateFormat.format(date), newYearValue, dateFormat.format(newDate));
}
}

Explanation

  • From line 1 to line 5, we import the relevant packages.
  • In line 7, we create a Main class.
  • In line 9, we make a main() function.
  • In line 10, we create a Date object.
  • In line 11, we create a SimpleDateFormat object with the format in which we want the dates to be printed.
  • In line 12, we define the new value of years to set.
  • In line 13, we use the setYears() method to set the years field of the date object defined in line 10.
  • In line 14, we print the original date, new year value, and the new date object we obtained in line 13.

Output

The output of the code will be as follows:


DateUtils.setYears(21/11/2021 14:02:47:581, 2030) = 21/11/2030 14:02:47:581

RELATED TAGS

java
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring