@ThreadSafe @InjectableComponent public interface DateTimeFormatter
DateTimeFormatterFactory
. See
com.atlassian.jira.datetime for examples of how to use DateTimeFormatter. Example:
All implementations of this interface are thread safe, and are therefore safe to cache and reuse across different requests.
DateTimeFormatterFactory
Modifier and Type | Method and Description |
---|---|
DateTimeFormatter |
forLoggedInUser()
Returns a new formatter that will use the time zone and locale of the user that is logged in when format and/or
parse are called, if any (as specified by
JiraAuthenticationContext ). |
String |
format(Date date)
Formats a Date as a human-readable string, using the date/time style returned by getStyle().
|
DateTimeFormatter |
forUser(ApplicationUser user)
Returns a new formatter that will use the given user's time zone and locale.
|
String |
getFormatHint()
Returns a hint for this formatter.
|
Locale |
getLocale() |
DateTimeStyle |
getStyle()
Returns this formatter's style.
|
TimeZone |
getZone()
Returns this formatter's time zone.
|
Date |
parse(String text)
Parses a date from the given text, returning a new Date.
|
DateTimeFormatter |
withDefaultLocale()
Returns a new formatter that will use the JIRA default locale to format and parse dates.
|
DateTimeFormatter |
withDefaultZone()
Returns a new formatter that will use the JIRA default time zone to format and parse dates.
|
DateTimeFormatter |
withLocale(Locale locale)
Specifies the Locale to use when formatting dates.
|
DateTimeFormatter |
withStyle(DateTimeStyle style)
Specifies the style to use when formatting dates.
|
DateTimeFormatter |
withSystemZone()
Returns a new formatter that will use the system time zone to format and parse dates.
|
DateTimeFormatter |
withZone(TimeZone timeZone)
Returns a new formatter that will use the specified zone instead of the JIRA default time zone.
|
String format(Date date)
Note that the formatted date is always in English, regardless of locale, if DateTimeStyle.RSS_RFC822_DATE_TIME
is selected.
date
- a Date instanceDate parse(String text) throws IllegalArgumentException, UnsupportedOperationException
Note that the given text must be in English, regardless of locale, if DateTimeStyle.RSS_RFC822_DATE_TIME
is selected.
text
- a String containing a dateIllegalArgumentException
- if the input text can not be parsedUnsupportedOperationException
- if this strategy does not support parsingDateTimeFormatter forLoggedInUser()
JiraAuthenticationContext
). If there is no logged in user, or if the logged in user has not configured a time
zone and/or locale, the JIRA default time zone and/or locale is used.
It is intended that clients will reuse the formatter obtained from this method across requests: it will always use the time zone and locale of the currently logged in user.
Important:
You should use system time zone when you use this method together with DateTimeStyle.DATE
style as
it formats date without time information.
JiraAuthenticationContext.getLoggedInUser()
,
withSystemZone()
DateTimeFormatter forUser(@Nullable ApplicationUser user)
user
- the User whose time zone and locale the new formatter will useDateTimeFormatter withDefaultZone()
DateTimeFormatter withSystemZone()
TimeZone.getDefault()
DateTimeFormatter withZone(@Nullable TimeZone timeZone)
timeZone
- a TimeZoneDateTimeFormatter withDefaultLocale()
DateTimeFormatter withLocale(@Nullable Locale locale)
locale
- a LocaleDateTimeFormatter withStyle(@Nullable DateTimeStyle style)
style
- a DateTimeStyleTimeZone getZone()
Locale getLocale()
DateTimeStyle getStyle()
String getFormatHint()
Copyright © 2002-2015 Atlassian. All Rights Reserved.