Java – Convert Date to Calendar example

In Java, you can use calendar.setTime(date) to convert a Date object to a Calendar object.


	Calendar calendar = Calendar.getInstance();
	Date newDate = calendar.setTime(date);

A Full example

DateAndCalendar.java

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

public class DateAndCalendar {
	public static void main(String[] argv) throws ParseException {

		//1. Create a Date from String
		SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
		String dateInString = "22-01-2015 10:20:56";
		Date date = sdf.parse(dateInString);
                DateAndCalendar obj = new DateAndCalendar();

		//2. Test - Convert Date to Calendar
		Calendar calendar = obj.dateToCalendar(date);
		System.out.println(calendar.getTime());
		
		//3. Test - Convert Calendar to Date
		Date newDate = obj.calendarToDate(calendar);
		System.out.println(newDate);

	}

	//Convert Date to Calendar
	private Calendar dateToCalendar(Date date) {

		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		return calendar;

	}

	//Convert Calendar to Date
	private Date calendarToDate(Calendar calendar) {
		return calendar.getTime();
	}

}

Output


Thu Jan 22 10:20:56 SGT 2015
Thu Jan 22 10:20:56 SGT 2015

5 comments on “Java – Convert Date to Calendar example

  1. SimpleDateFormat sdf = new SimpleDateFormat(“dd-M-yyyy hh:mm:ss”);
    String dateInString = “22-01-2015 10:20:56”;
    You are giving a single-digit format for the month and passing ’01’, is that right? or do you need to put exactly the same amount

    Reply
  2. This is not completely reliable, as setTime does not set all the fields.
    In this example if you converted a Date to a Calendar, then ran calendar.get(Calendar.DAY_OF_WEEK) it would return the present weekday, instead of the given date’s.

    Reply
    1. You rite it just happened to me rn… how should I convert it?

      Reply
  3. What is DateAndCalendar obj = new DateAndCalendar(); coming from??

    Reply
    1. See the code properly.. you will get it. Happy Debugging,

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *