Class Dates
- java.lang.Object
-
- org.openxava.util.Dates
-
public class Dates extends java.lang.ObjectUtilities to working with dates (java.util.Date).- Author:
- Javier Paniza, Peter Smith
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDates.DateDistance
-
Constructor Summary
Constructors Constructor Description Dates()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Dates.DateDistanceaddDateDistances(Dates.DateDistance dis1, Dates.DateDistance dis2)static voidaddDays(java.util.Date date, int days)Add the days to the date.static java.util.DatecloneWith2359(java.util.Date date)Returns a clone but with 23:59:59:999 for hours, minutes, seconds and milliseconds.static java.sql.TimestampcloneWith59999(java.sql.Timestamp date)Returns a clone but with 59 seconds and 999 milliseconds.static java.sql.TimestampcloneWith999(java.sql.Timestamp date)Returns a clone but with 999 for milliseconds.static java.util.DatecloneWithoutTime(java.util.Date date)Returns a clone but without hours, minutes, seconds and milliseconds.static java.util.Datecreate(int day, int month, int year)With hour to 0.static java.util.Datecreate(int day, int month, int year, int hourofday, int minute, int second)If day, month and year are 0 return null.static java.util.DatecreateCurrent()Current date without time.static Dates.DateDistancedateDistance(java.util.Date f1, java.util.Date f2)Difference of 2 dates in years, months and days.static Dates.DateDistancedateDistance(java.util.Date f1, java.util.Date f2, boolean includeStartDate)Difference of 2 dates in years, months and days.static java.lang.StringdateFormatForJSCalendar()static java.lang.StringdateFormatForJSCalendar(boolean includeTime)static java.lang.StringdateTimeFormatForJSCalendar()static intdaysInterval(java.util.Date startDate, java.util.Date endDate, boolean includeStartDate)Returns number of days between startDate and endDatestatic java.util.DatefirstOfMonth(java.util.Date date)The date of the first day of month.static java.text.DateFormatgetDateTimeFormat()DateFormat for date + time consistently among all Java versions, according current locale.static java.text.DateFormatgetDateTimeFormat(java.util.Locale locale)DateFormat for date + time consistently among all Java versions.static java.text.DateFormatgetDateTimeFormatForParsing(java.util.Locale locale)DateFormat for date + time consistently among all Java versions for using in parsing.static intgetDay(java.util.Date date)Returns the day of date.static java.time.format.DateTimeFormattergetLocalDateTimeFormat()DateFormat for date + time consistently among all Java versions, according current locale.static java.time.format.DateTimeFormattergetLocalDateTimeFormatForParsing()DateFormat for date + time consistently among all Java versions, according current locale.static java.lang.StringgetLocalizedDatePattern(java.util.Locale locale)Date partern for short format to be use for both Date and LocalDate.static intgetMonth(java.util.Date date)Returns the month (1 to 12) of date.static intgetYear(java.util.Date date)Returns the year (4 digits) of date.static booleanhasLocalDate(java.util.List<MetaProperty> listProperty)Used to verify if the entity has datesstatic booleanhasTime(java.util.Date date)If the hours, minutes, seconds and milliseconds are zero.static booleanisDifferentDay(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.DatelastOfMonth(java.util.Date date)The date of the last day of month.static java.util.DatelastOfYear(java.util.Date date)The date of the last day of year.static java.util.DateremoveTime(java.util.Date date)Puts hours, minutes, seconds and milliseconds to zero.static voidsetDay(java.util.Date date, int day)Put the day to the date.static voidsetMonth(java.util.Date date, int month)Put the month (1 to 12) to the date.static voidsetYear(java.util.Date date, int year)Put the year to the date.static Dates.DateDistancesubtractDateDistances(Dates.DateDistance dis1, Dates.DateDistance dis2)static java.lang.StringtimeFormatForJSCalendar()static java.sql.DatetoSQL(java.util.Date date)Creates a java.sql.Date from a java.util.Date.static java.lang.StringtoString(java.util.Date date)String with date in short format according current locale.static java.util.DatewithTime(java.util.Date date)Creates a date with day, month and year of original, but with current time.
-
-
-
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.The time zone is the default one, so if you print this date in the same JVM you will get the correct one. However, if you move the date object from one machine to other, or save it in a database that will be read from another locale maybe the dates will not match.
-
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.The time zone is the default one, so if you print this date in the same JVM you will get the correct one. However, if you move the date object from one machine to other, or save it in a database that will be read from another locale maybe the dates will not match.
-
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.
-
hasTime
public static boolean hasTime(java.util.Date date)
If the hours, minutes, seconds and milliseconds are zero.- Returns:
- If argument is null it return false, without throwing exception.
- Since:
- 4.8.1
-
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.
-
cloneWith999
public static java.sql.Timestamp cloneWith999(java.sql.Timestamp date)
Returns a clone but with 999 for milliseconds.- Returns:
- The same date sent as argument (a new date is not created). If null if sent a null is returned.
- Since:
- 7.1.5
-
cloneWith59999
public static java.sql.Timestamp cloneWith59999(java.sql.Timestamp date)
Returns a clone but with 59 seconds and 999 milliseconds.- Returns:
- The same date sent as argument (a new date is not created). If null if sent a null is returned.
- Since:
- 7.1.6
-
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
-
getLocalDateTimeFormat
public static java.time.format.DateTimeFormatter getLocalDateTimeFormat()
DateFormat for date + time consistently among all Java versions, according current locale.The date format is consistent among all Java versions. While standard Java format differently since Java 9. Current locale is from
Locales.getCurrent().- Returns:
- Not null
- Since:
- 7.4
-
getLocalDateTimeFormatForParsing
public static java.time.format.DateTimeFormatter getLocalDateTimeFormatForParsing()
DateFormat for date + time consistently among all Java versions, according current locale.The date format is consistent among all Java versions. While standard Java format differently since Java 9. Current locale is from
Locales.getCurrent().- Returns:
- Not null
- Since:
- 7.4
-
getDateTimeFormat
public static java.text.DateFormat getDateTimeFormat()
DateFormat for date + time consistently among all Java versions, according current locale.The date format is consistent among all Java versions, including Java 6, 7, 8, 9, 10 and 11. While standard Java format differently since Java 9. Current locale is from
Locales.getCurrent().- Returns:
- Not null
- Since:
- 6.0
-
getDateTimeFormat
public static java.text.DateFormat getDateTimeFormat(java.util.Locale locale)
DateFormat for date + time consistently among all Java versions.The date format is consistent among all Java versions, including Java 6, 7, 8, 9, 10 and 11. While standard Java format differently since Java 9. Also uses always 4 digits for year no matter the locale (new in v6.5.2).
- Returns:
- Not null
- Since:
- 6.0
-
getDateTimeFormatForParsing
public static java.text.DateFormat getDateTimeFormatForParsing(java.util.Locale locale)
DateFormat for date + time consistently among all Java versions for using in parsing.The date format is consistent among all Java versions, including Java 6, 7, 8, 9, 10 and 11. While standard Java format differently since Java 9. It uses 2 or 4 digits for year depending on locale.
- Returns:
- Not null
- Since:
- 6.5.2
-
getLocalizedDatePattern
public static java.lang.String getLocalizedDatePattern(java.util.Locale locale)
Date partern for short format to be use for both Date and LocalDate.It uses always 4 digits for year.
-
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 nullf2- 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 nullf2- 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 nullf2- 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(boolean includeTime)
- Parameters:
locale- Removed in 6.5- Since:
- 4.8.1
-
dateFormatForJSCalendar
public static java.lang.String dateFormatForJSCalendar()
- Parameters:
locale- Removed in 6.5
-
timeFormatForJSCalendar
public static java.lang.String timeFormatForJSCalendar()
-
dateTimeFormatForJSCalendar
public static java.lang.String dateTimeFormatForJSCalendar()
- Parameters:
locale- Removed in 6.5
-
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 startDatejava- .util.Date endDateboolean- includeStartDate
-
addDays
public static void addDays(java.util.Date date, int days)Add the days to the date.If date is null it has no effect (but no exception is thrown)
- Since:
- 4.8.1
-
lastOfYear
public static java.util.Date lastOfYear(java.util.Date date)
The date of the last day of year.- Parameters:
The- root date, it is not modified.- Returns:
- If null if sent a null is returned.
- Since:
- 4.8.1
-
lastOfMonth
public static java.util.Date lastOfMonth(java.util.Date date)
The date of the last day of month.- Parameters:
The- root date, it is not modified.- Returns:
- If null if sent a null is returned.
- Since:
- 4.8.1
-
firstOfMonth
public static java.util.Date firstOfMonth(java.util.Date date)
The date of the first day of month.- Parameters:
The- root date, it is not modified.- Returns:
- If null if sent a null is returned.
- Since:
- 4.8.1
-
hasLocalDate
public static boolean hasLocalDate(java.util.List<MetaProperty> listProperty)
Used to verify if the entity has dates- Since:
- 7.1
-
-