wood burning stoves
The moose likes Java in General and the fly likes Problems in converting to a Date Object. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Problems in converting to a Date Object." Watch "Problems in converting to a Date Object." New topic

Problems in converting to a Date Object.

Arun Martin
Ranch Hand

Joined: Dec 01, 2000
Posts: 64
I have got a peculiar pblm. From a textfield I am getting a user input date. Eg(31/10/2001) through a String. Through SubString function,I seperate the day,month and the year. I create a Date Object(Dateob) and set the Year,month,day to the new values which I have got. Using the getmethods of the Date,I try to print the values but the values are a bit different ie(the previous month's values are displayed).
I am enclosing the code and below the code is the output I am getting.
the part of the code:
String date = getFirstDate.substring(0,2);
System.out.println( " day is "+day);
String month = getFirstDate.substring(3,5);
System.out.println(" Month is "+month);
String Year = getFirstDate.substring(6,10);
System.out.println(" Year is "+Year);
int Nday = Integer.parseInt(day);
int Nmonth=Integer.parseInt(month);
int Nyear = Integer.parseInt(Year);
Date dt = new Date();
System.out.println(" Date is "+dt.getDate());
System.out.println(" Month is "+dt.getMonth());
System.out.println(" Year is "+dt.getYear());
output of the program:
day is 31
Month is 10
Year is 2001
Date is 1
Month is 11
Year is 2001
Please kindly look into my solution.
with warm regards ,
Arun J Martin.

Peter den Haan
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
Read the javadoc for Date.setMonth(int). It will explain your problems with both month and day.
- Peter
Angela Lamb
Ranch Hand

Joined: Feb 22, 2001
Posts: 156
Months are number as 0-11, not 1-12.
I agree. Here's the link: http://aspose.com/file-tools
subject: Problems in converting to a Date Object.
It's not a secret anymore!