jQuery in Action, 3rd edition
The moose likes Java in General and the fly likes Problem with Date Format Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Problem with Date Format" Watch "Problem with Date Format" New topic

Problem with Date Format

Raj Chukka

Joined: Apr 09, 2007
Posts: 22

Iam converting the date to MM/dd/yyyy format and converting it back to date and iam getting starnge results. Can someone correct where iam doing wrong?

Code snippet is below. Iam taking today's date: 04/16/2008

Calendar d1 = new GregorianCalendar();
System.out.println("Date is "+ d1.getTime());

DateFormat df =DateFormat.getDateInstance(DateFormat.SHORT);
String str1 = df.format(d1.getTime());
System.out.println("SHORT Style = " + str1);

==> Date is Wed Apr 16 10:44:50 EDT 2008
==> SHORT Style = 4/16/08

// now iam converting the date again from String to Date.
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date d111 = sdf.parse(str1, new ParsePosition(0));
System.out.println("d111 = "+d111);

==> d111 = Mon Apr 16 00:00:00 EDT 0008

Its printing "Mon". what is wrong with the code?

Raj Chukka
Chris Beckey
Ranch Hand

Joined: Jun 09, 2006
Posts: 116

Its also printing year 0008 (rather than 2008). The short date format does not include the century (i.e. 2000 or 1900) and when you make it make into a date it assumes the century is 0.
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Try use SimpleDateFormat with the same date pattern in both format and parse method.

Regards, Rene Larsen
Dropbox Invite
Don't get me started about those stupid light bulbs.
subject: Problem with Date Format
It's not a secret anymore!