devxlogo

Parsing a string into a date

Parsing a string into a date

Question:
I’m writing a class that reads a log file containing timestamps.My StringTokenizer returns the timestamp as a String and I then haveto store it in a date container. Should I use Date or GregorianCalendar?Also, how do I use DateFormat to parse the timestamp?

Answer:
The first question is difficult to answer. Normally I would say useGregorianCalendar because so much of the Date class is deprecated.However, when you parse the timestamp string using DateFormat, you’llend up with a Date object. The basic rule is that if you need to modify,add and substract your times, you should use a Calendar instance. Ifyou need a read only date representation that can be compared to otherdates, then the Date class is usually sufficient, but you probably shouldstill stick to a Calendar instance.

To parse the timestamp, use the parse() method in DateFormat. Firstcreate a DateFormat that uses the default locale and style. You cando this by calling the getDateInstance() static method in DateFormat.Now simply invoke the parse() method in the resulting DateFormat instance.parse() will understand most common date representation formats, but ifyour log timestamps are in a format it doesn’t understand, you mighthave to write your own parser. The parse() method returns a Date instance.You can convert a Date to a Calendar with the Calendar setTime() method.

devx-admin

Share the Post: