Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Java in General and the fly likes Date Format Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Date Format" Watch "Date Format" New topic

Date Format

Madhavi Gupta

Joined: Jan 30, 2002
Posts: 5
I have a string for date pattern called dPattern which is of the form ""mm/dd/yyyy"(dPattern = ""mm/dd/yyyy").I use this pattern to make the SimpleDateFormat class as
SimpleDateFormat sd = new SimpleDateFormat(dPattern);
I take a String of the form ,say ex: ateStr = "09/12/2001";
Date dt = sd.parse(dateStr, new ParsePosition(0));
The date dt when turned as a String gives me a strange Date as Jan 2001.
Also, if I use it in the Gregorian Calendar to set the time and access the month, the month comes out as January.
Can you pl explain me the reason and also, tell me how to do it right??
Here is the total code::
dPattern = ""mm/dd/yyyy"
SimpleDateFormat sd = new SimpleDateFormat(dPattern);
Date dt = sd.parse(dateStr, new ParsePosition(0));

Calendar calendar = new GregorianCalendar();
int month = calendar.get(Calendar.MONTH) + 1;

Thanks in advance,
Alex Ku
Ranch Hand

Joined: Jan 15, 2002
Posts: 47
Look at the API for SimpleDateFormat.
For some reasons, sun decide "m" for Minute and "M" for Month.
So, the pattern should be "MM/dd/yyyy".
And if you take a close look of your code, the output, you will see this
Mon Jan 28 00:09:00 EST 2002
9 as 9-minute

[ February 25, 2002: Message edited by: kawaii desu ]
I agree. Here's the link:
subject: Date Format
It's not a secret anymore!