File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
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
I agree. Here's the link:
subject: Problem with Date Format
It's not a secret anymore!