com.sun.cdc.io
Class DateParser

java.lang.Object
  extended by com.sun.cdc.io.DateParser

public class DateParser
extends Object

This class implements somewhat of a subset of the J2SE Date class. However, since the semantics of parse() is slightly different (DateParser will not handle dates prior to 1/1/1970, amd to be able to provide methods that will set timezone and DST information, it is called DateParser.


Field Summary
protected  int day
           
protected  int hour
           
protected  int milli
           
protected  int minute
           
protected  int month
           
protected  int second
           
protected static int tz_offset
           
protected  int year
           
 
Method Summary
static long parse(String s)
          Attempts to interpret the string s as a representation of a date and time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

year

protected int year

month

protected int month

day

protected int day

hour

protected int hour

minute

protected int minute

second

protected int second

milli

protected int milli

tz_offset

protected static int tz_offset
Method Detail

parse

public static long parse(String s)
Attempts to interpret the string s as a representation of a date and time. If the attempt is successful, the time indicated is returned represented as teh distance, measured in milliseconds, of that time from the epoch (00:00:00 GMT on January 1, 1970). If the attempt fails, an IllegalArgumentException is thrown.

It accepts many syntaxes; in particular, it recognizes the IETF standard date syntax: "Sat, 12 Aug 1995 13:30:00 GMT". It also understands the continental U.S. time-zone abbreviations, but for general use, a time-zone offset should be used: "Sat, 12 Aug 1995 13:30:00 GMT+0430" (4 hours, 30 minutes west of the Greenwich meridian). If no time zone is specified, the local time zone is assumed. GMT and UTC are considered equivalent.

The string s is processed from left to right, looking for data of interest. Any material in s that is within the ASCII parenthesis characters ( and ) is ignored. Parentheses may be nested. Otherwise, the only characters permitted within s are these ASCII characters:

 abcdefghijklmnopqrstuvwxyz
 ABCDEFGHIJKLMNOPQRSTUVWXYZ
 0123456789,+-:/
and whitespace characters.

A consecutive sequence of decimal digits is treated as a decimal number:

A consecutive sequence of letters is regarded as a word and treated as follows:

Once the entire string s has been scanned, it is converted to a time result in one of two ways. If a time zone or time-zone offset has been recognized, then the year, month, day of month, hour, minute, and second are interpreted in UTC and then the time-zone offset is applied. Otherwise, the year, month, day of month, hour, minute, and second are interpreted in the local time zone.

Parameters:
s - a string to be parsed as a date.
Returns:
the distance in milliseconds from January 1, 1970, 00:00:00 GMT represented by the string argument. Note that this method will throw an IllegalArgumentException if the year indicated in s is less than 1583.