public class

DateFormatter

extends Object
java.lang.Object
   ↳ com.atlassian.confluence.core.DateFormatter

Class Overview

Formats dates and times into a given timezone in a variety of formats. The actual formats are provided by the FormatSettingsManager which is passed to the constructor. Also allows for formatting into aribitrary formats.

This class is not thread-safe, primarily because DateFormat implementations are not synchronised. You should construct one instance of this class per thread or request.

TODO: Should support user locales

Summary

Public Constructors
DateFormatter(TimeZone timeZone, FormatSettingsManager formatSettingsManager)
This constructor is deprecated. Since 3.2 use com.atlassian.confluence.core.DateFormatter#DateFormatter(com.atlassian.confluence.core.TimeZone, com.atlassian.confluence.core.FormatSettingsManager, com.atlassian.confluence.languages.LocaleManager) Create a date formatter for the specified timezone.
DateFormatter(TimeZone timeZone, FormatSettingsManager formatSettingsManager, LocaleManager localeManager)
Public Methods
String format(Date date)
Formats the date and returns it as a string, using the date formatting pattern.
String formatBlogDate(Date date)
Formats the date as a blog posting date and returns it as a string.
String formatDateFull(Date date)
Formats the date and returns it as a string, using FULL as the formatting pattern.
String formatDateTime(Date date)
Formats the date and returns it as a string, using the date-time formatting pattern.
String formatDay(Date date)
This method is deprecated. since 3.5 this calls through to format(Date).
String formatGivenString(String formatString, Date date)
Formats the date and returns it as a string, using the given formatting pattern.
static String formatMillis(long millis)
String formatServerDate(Date date)
Same as format(Date), but doesn't perform time zone conversion.
String formatServerDateFull(Date date)
Same as formatDateFull(Date), but doesn't perform time zone conversion.
String formatServerDateTime(Date date)
Same as formatDateTime(Date), but doesn't perform time zone conversion.
String formatTime(Date date)
Formats the date and returns it as a string, using the time formatting pattern.
Calendar getCalendar()
String getCurrentDate()
String getCurrentDateTime()
String getDateForBlogPost(Date date)
TimeZone getTimeZone()
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public DateFormatter (TimeZone timeZone, FormatSettingsManager formatSettingsManager)

This constructor is deprecated.
Since 3.2 use com.atlassian.confluence.core.DateFormatter#DateFormatter(com.atlassian.confluence.core.TimeZone, com.atlassian.confluence.core.FormatSettingsManager, com.atlassian.confluence.languages.LocaleManager) Create a date formatter for the specified timezone.

Parameters
timeZone the time zone in which dates will be formatted

public DateFormatter (TimeZone timeZone, FormatSettingsManager formatSettingsManager, LocaleManager localeManager)

Public Methods

public String format (Date date)

Formats the date and returns it as a string, using the date formatting pattern. This format might be 'yyyy-MM-dd' or something similar.

The TimeZone specified in the constructor is used to convert the date from server time to the user's local time.

public String formatBlogDate (Date date)

Formats the date as a blog posting date and returns it as a string. The format might be 'dd MMM @ h:mm a' or something similar.

This method does not apply the TimeZone specified in the constructor, but instead uses server's default time zone. A blog post date is part of its identifier, therefore it must be consistent for all users.

public String formatDateFull (Date date)

Formats the date and returns it as a string, using FULL as the formatting pattern.

The TimeZone specified in the constructor is used to convert the date from server time to the user's local time.

public String formatDateTime (Date date)

Formats the date and returns it as a string, using the date-time formatting pattern. This format might be 'yyyy-MM-dd HH:mm:ss' or something similar.

The TimeZone specified in the constructor is used to convert the date from server time to the user's local time.

public String formatDay (Date date)

This method is deprecated.
since 3.5 this calls through to format(Date).

Returns the same as format(Date).

See Also

public String formatGivenString (String formatString, Date date)

Formats the date and returns it as a string, using the given formatting pattern.

The TimeZone specified in the constructor is used to convert the date from server time to the user's local time.

public static String formatMillis (long millis)

Returns
  • a String representing the millisecond value in the format '[h:]mm:ss.S'. That is, hours will only be displayed if non-zero and any trailing zeroes in the milliseconds are truncated.

public String formatServerDate (Date date)

Same as format(Date), but doesn't perform time zone conversion.

This is typically used for formatting the posting dates of news items, which must be represented the same for all users.

public String formatServerDateFull (Date date)

Same as formatDateFull(Date), but doesn't perform time zone conversion.

This is typically used for formatting the posting dates of news items, which must be represented the same for all users.

public String formatServerDateTime (Date date)

Same as formatDateTime(Date), but doesn't perform time zone conversion.

This is typically used for formatting the posting dates of news items, which must be represented the same for all users.

public String formatTime (Date date)

Formats the date and returns it as a string, using the time formatting pattern. This format might be 'HH:mm:ss' or something similar.

The TimeZone specified in the constructor is used to convert the date from server time to the user's local time.

public Calendar getCalendar ()

Returns
  • a Calendar for the TimeZone specified in the constructor.

public String getCurrentDate ()

Returns

public String getCurrentDateTime ()

Returns

public String getDateForBlogPost (Date date)

Returns
  • the given date time in editor blog post format

public TimeZone getTimeZone ()

Returns
  • the TimeZone provided when this formatter was created.