edu.mit.broad.genome.utils
Class DateParser2

java.lang.Object
  extended by edu.mit.broad.genome.utils.DateParser2

public class DateParser2
extends java.lang.Object

A parser for arbitrary date/time strings.


Field Summary
static int DD_MM_YY
          day/month/year order.
static int DD_YY_MM
          day/year/month order.
static int MM_DD_YY
          month/day/year order.
static int MM_YY_DD
          month/year/day order.
static int MONTH_AFTER_DAY
          bit indicating that the month comes after the day.
static int MONTH_BEFORE_DAY
          bit indicating that the month comes before the day.
static int YEAR_AFTER_DAY
          bit indicating that the year comes after the day.
static int YEAR_AFTER_MONTH
          bit indicating that the year comes after the month.
static int YEAR_BEFORE_DAY
          bit indicating that the year comes before the day.
static int YEAR_BEFORE_MONTH
          bit indicating that the year comes before the month.
static int YY_DD_MM
          year/day/month order.
static int YY_MM_DD
          year/month/day order.
 
Constructor Summary
DateParser2()
           
 
Method Summary
static java.lang.String getOrderString(int order)
          Return a string representation of the order value.
static int monthNameToNumber(java.lang.String str)
          Convert the supplied month name to its numeric representation.
static java.util.Date parse_date(java.lang.String dateStr)
           
static java.util.Calendar parse(java.lang.String dateStr)
          Extract a date from a string, defaulting to YY-MM-DD order for all-numeric strings.
static java.util.Calendar parse(java.lang.String dateStr, int order)
          Extract a date from a string.
static java.util.Calendar parse(java.lang.String dateStr, int order, boolean ignoreChanges)
          Extract a date from a string.
static java.lang.String prettyString(java.util.Calendar cal)
          Return a printable representation of the date.
static java.lang.String toSQLString(java.util.Calendar cal)
          Return a string representation of the date suitable for use in an SQL statement.
static java.lang.String toString(java.util.Calendar cal)
          Return a basic representation of the string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

YEAR_BEFORE_MONTH

public static final int YEAR_BEFORE_MONTH
bit indicating that the year comes before the month.

See Also:
Constant Field Values

YEAR_BEFORE_DAY

public static final int YEAR_BEFORE_DAY
bit indicating that the year comes before the day.

See Also:
Constant Field Values

MONTH_BEFORE_DAY

public static final int MONTH_BEFORE_DAY
bit indicating that the month comes before the day.

See Also:
Constant Field Values

YEAR_AFTER_MONTH

public static final int YEAR_AFTER_MONTH
bit indicating that the year comes after the month.

See Also:
Constant Field Values

YEAR_AFTER_DAY

public static final int YEAR_AFTER_DAY
bit indicating that the year comes after the day.

See Also:
Constant Field Values

MONTH_AFTER_DAY

public static final int MONTH_AFTER_DAY
bit indicating that the month comes after the day.

See Also:
Constant Field Values

DD_MM_YY

public static final int DD_MM_YY
day/month/year order.

See Also:
Constant Field Values

MM_DD_YY

public static final int MM_DD_YY
month/day/year order.

See Also:
Constant Field Values

MM_YY_DD

public static final int MM_YY_DD
month/year/day order.

See Also:
Constant Field Values

DD_YY_MM

public static final int DD_YY_MM
day/year/month order.

See Also:
Constant Field Values

YY_DD_MM

public static final int YY_DD_MM
year/day/month order.

See Also:
Constant Field Values

YY_MM_DD

public static final int YY_MM_DD
year/month/day order.

See Also:
Constant Field Values
Constructor Detail

DateParser2

public DateParser2()
Method Detail

getOrderString

public static java.lang.String getOrderString(int order)
Return a string representation of the order value.

Parameters:
order - order
Returns:
order string

monthNameToNumber

public static int monthNameToNumber(java.lang.String str)
Convert the supplied month name to its numeric representation.
For example, "January" (or any substring) would return 1 and "December" would return 12.

Parameters:
str - month name
Returns:
the numeric month, or DateParser2.UNSET if the supplied string is not a valid month name.

parse

public static java.util.Calendar parse(java.lang.String dateStr)
                                throws ParserException
Extract a date from a string, defaulting to YY-MM-DD order for all-numeric strings.

Parameters:
dateStr - date string
Returns:
parsed date
Throws:
ParserException - if there was a problem parsing the string.

parse_date

public static java.util.Date parse_date(java.lang.String dateStr)
                                 throws ParserException
Throws:
ParserException

parse

public static java.util.Calendar parse(java.lang.String dateStr,
                                       int order)
                                throws ParserException
Extract a date from a string.

Parameters:
dateStr - date string
order - order in which pieces of numeric strings are assigned (should be one of YY_MM_DD, MM_DD_YY, etc.)
Returns:
parsed date
Throws:
ParserException - if there was a problem parsing the string.

parse

public static java.util.Calendar parse(java.lang.String dateStr,
                                       int order,
                                       boolean ignoreChanges)
                                throws ParserException
Extract a date from a string.

Parameters:
dateStr - date string
order - order in which pieces of numeric strings are assigned (should be one of YY_MM_DD, MM_DD_YY, etc.)
ignoreChanges - if true, ignore date changes such as Feb 31 being changed to Mar 3.
Returns:
parsed date
Throws:
ParserException - if there was a problem parsing the string.

prettyString

public static java.lang.String prettyString(java.util.Calendar cal)
Return a printable representation of the date.

Parameters:
cal - calendar to convert to a string
Returns:
a printable string.

toString

public static java.lang.String toString(java.util.Calendar cal)
Return a basic representation of the string.

Parameters:
cal - calendar to convert to a string
Returns:
the basic string.

toSQLString

public static java.lang.String toSQLString(java.util.Calendar cal)
Return a string representation of the date suitable for use in an SQL statement.

Parameters:
cal - calendar to convert to a string
Returns:
the SQL-friendly string.