Manipulating date and time using Java Date wrapper class

When working with dates and times in Java, it is common to use the java.util.Date class. While this class provides the basic functionality for representing a specific point in time, it lacks some important features for manipulating dates and times. To address this, you can make use of the java.util.Calendar class which provides more methods for manipulating date and time values.

Creating a Date Object

To create a Date object representing the current date and time, simply use the new Date() constructor. This will initialize the Date object with the current date and time.

import java.util.Date;

Date currentDate = new Date();
System.out.println(currentDate);

Output:

Mon May 24 10:30:15 GMT 2021

Manipulating Dates and Times

To manipulate dates and times, you can use the Calendar class. It provides methods to add or subtract specific units such as days, months, or years to a given Date object.

Here’s an example of adding 7 days to the current date:

import java.util.Calendar;
import java.util.Date;

Date currentDate = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
calendar.add(Calendar.DAY_OF_MONTH, 7);

Date newDate = calendar.getTime();
System.out.println(newDate);

Output:

Mon May 31 10:30:15 GMT 2021

Similarly, you can subtract days, months, or years by using negative values. For example, to subtract 3 months from the current date:

import java.util.Calendar;
import java.util.Date;

Date currentDate = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
calendar.add(Calendar.MONTH, -3);

Date newDate = calendar.getTime();
System.out.println(newDate);

Output:

Fri February 24 10:30:15 GMT 2021

Formatting Dates and Times

Once you have a Date object, you can format it into a specific format using the SimpleDateFormat class.

import java.text.SimpleDateFormat;
import java.util.Date;

Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

String formattedDate = dateFormat.format(currentDate);
System.out.println(formattedDate);

Output:

24/05/2021

Conclusion

Java’s Date wrapper class provides the basic functionality for working with dates and times. However, when it comes to manipulating dates, the Calendar class offers more flexibility. By combining these two classes, you can effectively handle date and time operations in Java.