This week's book giveaway is in the Game Development forum.
We're giving away four copies of Badass: Making Users Awesome and have Kathy Sierra on-line!
See this thread for details.
The moose likes Servlets and the fly likes EVIL DATES. Need help Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Badass: Making Users Awesome this week in the Game Development forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "EVIL DATES. Need help" Watch "EVIL DATES. Need help" New topic

EVIL DATES. Need help

James Hewitt

Joined: Jul 09, 2001
Posts: 27
I want to calculate if a date retrieved from a database (in the normal Date form) is before or after the current one. Using "boolean equals(Date d)" won't work since the date is retrieved from the database as a string. How do I take this string and convert it to a date, d, so that I can use the above method?
Thanks in advance,
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16536

The simplest method, assuming that the date is stored as type "date" in your database is to retrieve it in its java-equivalent form. That is: xdate = (java.sql.Date) rs.getObject("xdate");
Please note that class java.sql.Date is NOT java.util.Date!
If you can only get the date as a string, you have to either parse it out yourself and use the month/day/year form of the date constructor or use the Calendar class feature to do locale-sensitive construction.

Customer surveys are for companies who didn't pay proper attention to begin with.
Ranch Hand

Joined: Jul 06, 2001
Posts: 257
Which database are you using? I can help you if it's Oracle.
James Hewitt

Joined: Jul 09, 2001
Posts: 27
Thanks very much. Parsing it worked fine.
It was db2 by the way.
Kevin Wright
Ranch Hand

Joined: Jul 10, 2001
Posts: 38
I had a similar problem, and my solution was to create a DateUtil class specific to my DB - MSAccess. It implements Comparable, and returns the short date form. Yours would be similar.
Hope that helps.
Venugopal nandikolla

Joined: Feb 02, 2001
Posts: 22
Try to use java.text.DateFormat.parse(String text) which returns Date object.
I agree. Here's the link:
subject: EVIL DATES. Need help