org.openxava.util
Class Dates

java.lang.Object
  extended by org.openxava.util.Dates

public class Dates
extends java.lang.Object

Utilities to working with dates (java.util.Date).

Author:
Javier Paniza, Peter Smith

Nested Class Summary
static class Dates.DateDistance
           
 
Constructor Summary
Dates()
           
 
Method Summary
static Dates.DateDistance addDateDistances(Dates.DateDistance dis1, Dates.DateDistance dis2)
           
static java.util.Date cloneWith2359(java.util.Date date)
          Returns a clone but with 23:59:59:999 for hours, minutes, seconds and milliseconds.
static java.util.Date cloneWithoutTime(java.util.Date date)
          Returns a clone but without hours, minutes, seconds and milliseconds.
static java.util.Date create(int day, int month, int year)
          With hour to 0.
static java.util.Date create(int day, int month, int year, int hourofday, int minute, int second)
          If day, month and year are 0 return null.
static java.util.Date createCurrent()
          Current date without time.
static Dates.DateDistance dateDistance(java.util.Date f1, java.util.Date f2)
          Difference of 2 dates in years, months and days.
static Dates.DateDistance dateDistance(java.util.Date f1, java.util.Date f2, boolean includeStartDate)
          Difference of 2 dates in years, months and days.
static java.lang.String dateFormatForJSCalendar(java.util.Locale locale)
           
static java.lang.String dateTimeFormatForJSCalendar(java.util.Locale locale)
           
static int daysInterval(java.util.Date startDate, java.util.Date endDate, boolean includeStartDate)
          Returns number of days between startDate and endDate
static int getDay(java.util.Date date)
          Returns the day of date.
static int getMonth(java.util.Date date)
          Returns the month (1 to 12) of date.
static int getYear(java.util.Date date)
          Returns the year (4 digits) of date.
static boolean isDifferentDay(java.util.Date f1, java.util.Date f2)
          Compares if 2 dates are equals at day, month and year level, ignoring time in comparing.
static java.util.Date removeTime(java.util.Date date)
          Puts hours, minutes, seconds and milliseconds to zero.
static void setDay(java.util.Date date, int day)
          Put the day to the date.
static void setMonth(java.util.Date date, int month)
          Put the month (1 to 12) to the date.
static void setYear(java.util.Date date, int year)
          Put the year to the date.
static Dates.DateDistance subtractDateDistances(Dates.DateDistance dis1, Dates.DateDistance dis2)
           
static java.sql.Date toSQL(java.util.Date date)
          Creates a java.sql.Date from a java.util.Date.
static java.lang.String toString(java.util.Date date)
          String with date in short format according current locale.
static java.util.Date withTime(java.util.Date date)
          Creates a date with day, month and year of original, but with current time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Dates

public Dates()
Method Detail

create

public static java.util.Date create(int day,
                                    int month,
                                    int year)
With hour to 0. If day, month and year are 0 return null.


create

public static java.util.Date create(int day,
                                    int month,
                                    int year,
                                    int hourofday,
                                    int minute,
                                    int second)
If day, month and year are 0 return null.


createCurrent

public static java.util.Date createCurrent()
Current date without time.


getDay

public static int getDay(java.util.Date date)
Returns the day of date.

If date is null return 0.


getYear

public static int getYear(java.util.Date date)
Returns the year (4 digits) of date. If date is null returns 0.


getMonth

public static int getMonth(java.util.Date date)
Returns the month (1 to 12) of date.

If date is null returns 0.


setDay

public static void setDay(java.util.Date date,
                          int day)
Put the day to the date.

If date is null it has no effect (but no exception is thrown)


setMonth

public static void setMonth(java.util.Date date,
                            int month)
Put the month (1 to 12) to the date.

If date is null it has no effect (but no exception is thrown)


setYear

public static void setYear(java.util.Date date,
                           int year)
Put the year to the date.

If date is null it has no effect (but no exception is thrown)


removeTime

public static java.util.Date removeTime(java.util.Date date)
Puts hours, minutes, seconds and milliseconds to zero.

Returns:
The same date sent as argument (a new date is not created). If null if sent a null is returned.

cloneWithoutTime

public static java.util.Date cloneWithoutTime(java.util.Date date)
Returns a clone but without hours, minutes, seconds and milliseconds.

Returns:
If null if sent a null is returned.

cloneWith2359

public static java.util.Date cloneWith2359(java.util.Date date)
Returns a clone but with 23:59:59:999 for hours, minutes, seconds and milliseconds.

Returns:
The same date sent as argument (a new date is not created). If null if sent a null is returned.

toSQL

public static java.sql.Date toSQL(java.util.Date date)
Creates a java.sql.Date from a java.util.Date.

Parameters:
date - If null returns null

toString

public static java.lang.String toString(java.util.Date date)
String with date in short format according current locale.

Current locale is from Locales.getCurrent().

Parameters:
date - If null returns empty string
Returns:
Not null

withTime

public static java.util.Date withTime(java.util.Date date)
Creates a date with day, month and year of original, but with current time.

Parameters:
date - It is not changed
Returns:
If arguments is null then is null

isDifferentDay

public static boolean isDifferentDay(java.util.Date f1,
                                     java.util.Date f2)
Compares if 2 dates are equals at day, month and year level, ignoring time in comparing.

Parameters:
f1 - Can be null
f2 - Can be null

dateDistance

public static Dates.DateDistance dateDistance(java.util.Date f1,
                                              java.util.Date f2,
                                              boolean includeStartDate)
Difference of 2 dates in years, months and days.

Parameters:
f1 - If null returns null
f2 - If null returns null

dateDistance

public static Dates.DateDistance dateDistance(java.util.Date f1,
                                              java.util.Date f2)
Difference of 2 dates in years, months and days.

Parameters:
f1 - If null returns null
f2 - If null returns null

addDateDistances

public static Dates.DateDistance addDateDistances(Dates.DateDistance dis1,
                                                  Dates.DateDistance dis2)

subtractDateDistances

public static Dates.DateDistance subtractDateDistances(Dates.DateDistance dis1,
                                                       Dates.DateDistance dis2)

dateFormatForJSCalendar

public static java.lang.String dateFormatForJSCalendar(java.util.Locale locale)

dateTimeFormatForJSCalendar

public static java.lang.String dateTimeFormatForJSCalendar(java.util.Locale locale)

daysInterval

public static int daysInterval(java.util.Date startDate,
                               java.util.Date endDate,
                               boolean includeStartDate)
Returns number of days between startDate and endDate

Parameters:
java.util.Date - startDate
java.util.Date - endDate
boolean - includeStartDate