Package org.sonar.api.utils
Class DateUtils
- java.lang.Object
-
- org.sonar.api.utils.DateUtils
-
public final class DateUtils extends java.lang.Object
Parses and formats RFC 822 dates. This class is thread-safe.- Since:
- 2.7
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DATE_FORMAT
static java.lang.String
DATETIME_FORMAT
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.time.Instant
addDays(java.time.Instant instant, int numberOfDays)
static java.util.Date
addDays(java.util.Date date, int numberOfDays)
Adds a number of days to a date returning a new object.static java.lang.Long
dateToLong(java.util.Date date)
static java.lang.String
formatDate(java.time.Instant d)
Warning: relies on default timezone!static java.lang.String
formatDate(java.util.Date d)
Warning: relies on default timezone!static java.lang.String
formatDateTime(long ms)
Warning: relies on default timezone!static java.lang.String
formatDateTime(java.time.OffsetDateTime dt)
static java.lang.String
formatDateTime(java.util.Date d)
Warning: relies on default timezone!static java.lang.String
formatDateTimeNullSafe(java.util.Date date)
Warning: relies on default timezone!static java.util.Date
longToDate(java.lang.Long time)
static java.util.Date
parseDate(java.lang.String s)
Return a date at the start of day.static java.util.Date
parseDateOrDateTime(java.lang.String stringDate)
Warning: may rely on default timezone!static java.util.Date
parseDateQuietly(java.lang.String s)
Parse formatDATE_FORMAT
.static java.util.Date
parseDateTime(java.lang.String s)
static java.util.Date
parseDateTimeQuietly(java.lang.String s)
Parse formatDATETIME_FORMAT
.static java.util.Date
parseEndingDateOrDateTime(java.lang.String stringDate)
Return the datetime if @param stringDate is a datetime, date + 1 day if stringDate is a date.static java.time.LocalDate
parseLocalDate(java.lang.String s)
static java.time.LocalDate
parseLocalDateQuietly(java.lang.String s)
Parse formatDATE_FORMAT
.static java.time.OffsetDateTime
parseOffsetDateTime(java.lang.String s)
static java.time.OffsetDateTime
parseOffsetDateTimeQuietly(java.lang.String s)
Parse formatDATETIME_FORMAT
.static java.util.Date
parseStartingDateOrDateTime(java.lang.String stringDate)
Warning: may rely on default timezone!static long
truncateToSeconds(long dateTime)
static java.util.Date
truncateToSeconds(java.util.Date d)
-
-
-
Field Detail
-
DATE_FORMAT
public static final java.lang.String DATE_FORMAT
- See Also:
- Constant Field Values
-
DATETIME_FORMAT
public static final java.lang.String DATETIME_FORMAT
- See Also:
- Constant Field Values
-
-
Method Detail
-
formatDate
public static java.lang.String formatDate(java.util.Date d)
Warning: relies on default timezone!
-
formatDate
public static java.lang.String formatDate(java.time.Instant d)
Warning: relies on default timezone!- Since:
- 7.6
-
formatDateTime
public static java.lang.String formatDateTime(java.util.Date d)
Warning: relies on default timezone!
-
formatDateTime
public static java.lang.String formatDateTime(long ms)
Warning: relies on default timezone!
-
formatDateTime
public static java.lang.String formatDateTime(java.time.OffsetDateTime dt)
- Since:
- 6.6
-
formatDateTimeNullSafe
public static java.lang.String formatDateTimeNullSafe(@Nullable java.util.Date date)
Warning: relies on default timezone!
-
longToDate
@CheckForNull public static java.util.Date longToDate(@Nullable java.lang.Long time)
-
dateToLong
@CheckForNull public static java.lang.Long dateToLong(@Nullable java.util.Date date)
-
parseDate
public static java.util.Date parseDate(java.lang.String s)
Return a date at the start of day.- Parameters:
s
- string in formatDATE_FORMAT
- Throws:
SonarException
- when string cannot be parsed
-
parseDateQuietly
@CheckForNull public static java.util.Date parseDateQuietly(@Nullable java.lang.String s)
Parse formatDATE_FORMAT
. This method never throws exception.- Parameters:
s
- any string- Returns:
- the date,
null
if parsing error or if parameter isnull
- Since:
- 3.0
-
parseLocalDate
public static java.time.LocalDate parseLocalDate(java.lang.String s)
- Since:
- 6.6
-
parseLocalDateQuietly
@CheckForNull public static java.time.LocalDate parseLocalDateQuietly(@Nullable java.lang.String s)
Parse formatDATE_FORMAT
. This method never throws exception.- Parameters:
s
- any string- Returns:
- the date,
null
if parsing error or if parameter isnull
- Since:
- 6.6
-
parseDateTime
public static java.util.Date parseDateTime(java.lang.String s)
- Parameters:
s
- string in formatDATETIME_FORMAT
- Throws:
SonarException
- when string cannot be parsed
-
parseOffsetDateTime
public static java.time.OffsetDateTime parseOffsetDateTime(java.lang.String s)
- Parameters:
s
- string in formatDATETIME_FORMAT
- Throws:
SonarException
- when string cannot be parsed- Since:
- 6.6
-
parseDateTimeQuietly
@CheckForNull public static java.util.Date parseDateTimeQuietly(@Nullable java.lang.String s)
Parse formatDATETIME_FORMAT
. This method never throws exception.- Parameters:
s
- any string- Returns:
- the datetime,
null
if parsing error or if parameter isnull
-
parseOffsetDateTimeQuietly
@CheckForNull public static java.time.OffsetDateTime parseOffsetDateTimeQuietly(@Nullable java.lang.String s)
Parse formatDATETIME_FORMAT
. This method never throws exception.- Parameters:
s
- any string- Returns:
- the datetime,
null
if parsing error or if parameter isnull
- Since:
- 6.6
-
parseDateOrDateTime
@CheckForNull public static java.util.Date parseDateOrDateTime(@Nullable java.lang.String stringDate)
Warning: may rely on default timezone!- Returns:
- the datetime,
null
if stringDate is null - Throws:
java.lang.IllegalArgumentException
- if stringDate is not a correctly formed date or datetime- Since:
- 6.1
-
parseStartingDateOrDateTime
@CheckForNull public static java.util.Date parseStartingDateOrDateTime(@Nullable java.lang.String stringDate)
Warning: may rely on default timezone!- See Also:
parseDateOrDateTime(String)
-
parseEndingDateOrDateTime
@CheckForNull public static java.util.Date parseEndingDateOrDateTime(@Nullable java.lang.String stringDate)
Return the datetime if @param stringDate is a datetime, date + 1 day if stringDate is a date. So '2016-09-01' would return a date equivalent to '2016-09-02T00:00:00+0000' in GMT (Warning: relies on default timezone!)- Returns:
- the datetime,
null
if stringDate is null - Throws:
java.lang.IllegalArgumentException
- if stringDate is not a correctly formed date or datetime- Since:
- 6.1
- See Also:
parseDateOrDateTime(String)
-
addDays
public static java.util.Date addDays(java.util.Date date, int numberOfDays)
Adds a number of days to a date returning a new object. The original date object is unchanged.- Parameters:
date
- the date, not nullnumberOfDays
- the amount to add, may be negative- Returns:
- the new date object with the amount added
-
addDays
public static java.time.Instant addDays(java.time.Instant instant, int numberOfDays)
- Since:
- 7.6
-
truncateToSeconds
@CheckForNull public static java.util.Date truncateToSeconds(@Nullable java.util.Date d)
-
truncateToSeconds
public static long truncateToSeconds(long dateTime)
-
-