net.fortuna.ical4j.util
Class Dates

java.lang.Object
  extended by net.fortuna.ical4j.util.Dates

public final class Dates
extends Object

$Id$ Created on 26/06/2005 Implements a collection of utility methods relevant to date processing.

Author:
Ben Fortuna

Field Summary
static int DAYS_PER_WEEK
          Number of days in one week.
static int MAX_DAYS_PER_MONTH
          Maximum number of days per month.
static int MAX_DAYS_PER_YEAR
          Maximum number of days per year.
static int MAX_WEEKS_PER_YEAR
          Maximum number of weeks per year.
static long MILLIS_PER_DAY
          Number of milliseconds in one day.
static long MILLIS_PER_HOUR
          Number of milliseconds in one hour.
static long MILLIS_PER_MINUTE
          Number of milliseconds in one minute.
static long MILLIS_PER_SECOND
          Number of milliseconds in one second.
static long MILLIS_PER_WEEK
          Number of milliseconds in one week.
static int PRECISION_DAY
          Constant indicating precision to the day.
static int PRECISION_SECOND
          Constant indicating precision to the second.
 
Method Summary
static int getAbsMonthDay(Date date, int monthDay)
          Returns the absolute month day for the month specified by the supplied date.
static int getAbsWeekNo(Date date, int weekNo)
          Returns the absolute week number for the year specified by the supplied date.
static int getAbsYearDay(Date date, int yearDay)
          Returns the absolute year day for the year specified by the supplied date.
static Calendar getCalendarInstance(Date date)
          Returns an instance of java.util.Calendar that is suitably initialised for working with the specified date.
static long getCurrentTimeRounded()
          Returns the System.currentTimeMillis(), rounded to the second.
static Date getInstance(Date date, Value type)
          Returns a new date instance of the specified type.
static long round(long time, int precision)
          Deprecated. It is not all that useful to perform rounding without specifying an explicit timezone.
static long round(long time, int precision, TimeZone tz)
          Rounds a time value to remove any precision smaller than specified.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MILLIS_PER_SECOND

public static final long MILLIS_PER_SECOND
Number of milliseconds in one second.

See Also:
Constant Field Values

MILLIS_PER_MINUTE

public static final long MILLIS_PER_MINUTE
Number of milliseconds in one minute.

See Also:
Constant Field Values

MILLIS_PER_HOUR

public static final long MILLIS_PER_HOUR
Number of milliseconds in one hour.

See Also:
Constant Field Values

MILLIS_PER_DAY

public static final long MILLIS_PER_DAY
Number of milliseconds in one day.

See Also:
Constant Field Values

MILLIS_PER_WEEK

public static final long MILLIS_PER_WEEK
Number of milliseconds in one week.

See Also:
Constant Field Values

DAYS_PER_WEEK

public static final int DAYS_PER_WEEK
Number of days in one week.

See Also:
Constant Field Values

PRECISION_SECOND

public static final int PRECISION_SECOND
Constant indicating precision to the second.

See Also:
Constant Field Values

PRECISION_DAY

public static final int PRECISION_DAY
Constant indicating precision to the day.

See Also:
Constant Field Values

MAX_WEEKS_PER_YEAR

public static final int MAX_WEEKS_PER_YEAR
Maximum number of weeks per year.

See Also:
Constant Field Values

MAX_DAYS_PER_YEAR

public static final int MAX_DAYS_PER_YEAR
Maximum number of days per year.

See Also:
Constant Field Values

MAX_DAYS_PER_MONTH

public static final int MAX_DAYS_PER_MONTH
Maximum number of days per month.

See Also:
Constant Field Values
Method Detail

getAbsWeekNo

public static int getAbsWeekNo(Date date,
                               int weekNo)
Returns the absolute week number for the year specified by the supplied date. Note that a value of zero (0) is invalid for the weekNo parameter and an IllegalArgumentException will be thrown.

Parameters:
date - a date instance representing a week of the year
weekNo - a week number offset
Returns:
the absolute week of the year for the specified offset

getAbsYearDay

public static int getAbsYearDay(Date date,
                                int yearDay)
Returns the absolute year day for the year specified by the supplied date. Note that a value of zero (0) is invalid for the yearDay parameter and an IllegalArgumentException will be thrown.

Parameters:
date - a date instance representing a day of the year
yearDay - a day of year offset
Returns:
the absolute day of month for the specified offset

getAbsMonthDay

public static int getAbsMonthDay(Date date,
                                 int monthDay)
Returns the absolute month day for the month specified by the supplied date. Note that a value of zero (0) is invalid for the monthDay parameter and an IllegalArgumentException will be thrown.

Parameters:
date - a date instance representing a day of the month
monthDay - a day of month offset
Returns:
the absolute day of month for the specified offset

getInstance

public static Date getInstance(Date date,
                               Value type)
Returns a new date instance of the specified type. If no type is specified a DateTime instance is returned.

Parameters:
date - a seed Java date instance
type - the type of date instance
Returns:
an instance of net.fortuna.ical4j.model.Date

getCalendarInstance

public static Calendar getCalendarInstance(Date date)
Returns an instance of java.util.Calendar that is suitably initialised for working with the specified date.

Parameters:
date - a date instance
Returns:
a java.util.Calendar

round

public static long round(long time,
                         int precision)
Deprecated. It is not all that useful to perform rounding without specifying an explicit timezone.

Parameters:
time - the time value to round
precision - the rounding precision
Returns:
a round time value

round

public static long round(long time,
                         int precision,
                         TimeZone tz)
Rounds a time value to remove any precision smaller than specified.

Parameters:
time - the time value to round
precision - the rounding precision
tz - the timezone of the rounded value
Returns:
a round time value

getCurrentTimeRounded

public static long getCurrentTimeRounded()
Returns the System.currentTimeMillis(), rounded to the second.

By doing a rough rounding here, we avoid an expensive java.util.Calendar based rounding later on.

Returns:
the current time in millisec.


Copyright © 2004-2012 Micronode. All Rights Reserved.