com.atlassian.jira.web.util
Class OutlookDate

java.lang.Object
  extended by com.atlassian.jira.web.util.OutlookDate

public class OutlookDate
extends Object

Class to give a nice String representation of a date (inspired by Outlook)

Note: This class is not Threadsafe due to its use of DateFormat objects. Do not cache this object across Threads.


Field Summary
static long DAY
           
static long HOUR
           
static long MINUTE
           
static int OTHER
           
static long SECOND
           
static int THIS_WEEK
           
static int TODAY
           
static int YESTERDAY
           
 
Constructor Summary
OutlookDate(Locale locale)
           
OutlookDate(Locale locale, ApplicationProperties applicationProperties)
           
 
Method Summary
 int daysAgo(Date date)
           
 int daysAgo(Date oldDate, Date newDate)
          The method determines whether the date lies between now and previous midnight (TODAY), between now and the midnight before previous (YESTERDAY), or between now and 7 midnights ago (THIS_WEEK).
 String format()
           
 String format(Date date)
           
 String format(Date date, Locale remoteUserLocale)
          Deprecated. Please use format(java.util.Date) instead.
 String formatDatePicker(Date date)
           
 String formatDateTimePicker(Date date)
           
 String formatDay(Date date)
           
 String formatDMY(Date date)
           
 String formatDMYHMS(Date date)
           
 String formatIso8601(Date date)
          Formats the given date into ISO8601 format.
 String formatIso8601Date(Date date)
          Formats the given date into ISO8601 format.
static String formatRss(Date date)
          Format a date for RSS feeds.
static String formatRssRfc822(Date date)
          Formats a date using the correct RFC822 format as indicated in the RSS v2 specification and not using the MailDateFormat which is technically incorrect.
 String formatTime(Date date)
           
 DateFormat getCompleteDateFormat()
          This helper is here to assist with formatting emails etc, and should only be used by JIRAVelocityManager.
 String getCompleteDateTimeFormat()
           
 String getDatePickerFormat()
           
 String getDatePickerFormatSample(Date date)
           
 String getDateTimePickerFormat()
           
 String getDateTimePickerFormatSample(Date date)
           
 Locale getLocale()
           
 Date getNow()
          Returns new date
 boolean isDatePickerDate(String value)
           
 Date parseCompleteDateTime(String value)
           
 Date parseDatePicker(String value)
           
 Date parseDateTimePicker(String value)
           
static Date parseRss(String rssDate)
          Parse a date from RSS feeds.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SECOND

public static final long SECOND
See Also:
Constant Field Values

MINUTE

public static final long MINUTE
See Also:
Constant Field Values

HOUR

public static final long HOUR
See Also:
Constant Field Values

DAY

public static final long DAY
See Also:
Constant Field Values

TODAY

public static final int TODAY
See Also:
Constant Field Values

YESTERDAY

public static final int YESTERDAY
See Also:
Constant Field Values

THIS_WEEK

public static final int THIS_WEEK
See Also:
Constant Field Values

OTHER

public static final int OTHER
See Also:
Constant Field Values
Constructor Detail

OutlookDate

public OutlookDate(Locale locale)

OutlookDate

public OutlookDate(Locale locale,
                   ApplicationProperties applicationProperties)
Method Detail

getLocale

public Locale getLocale()

formatIso8601

public String formatIso8601(Date date)
Formats the given date into ISO8601 format. This format contains date and time information and it is used by data marked with hCalendar microformat. If you need to use date information only use formatIso8601Date(java.util.Date) method instead.

Parameters:
date - date to format
Returns:
formatted date string

formatIso8601Date

public String formatIso8601Date(Date date)
Formats the given date into ISO8601 format. This format contains date information only and it is used by data marked with hCalendar microformat. If you need to use date and time information use formatIso8601(java.util.Date) method instead.

Parameters:
date - date to format
Returns:
formatted date string

formatDMY

public String formatDMY(Date date)

formatDMYHMS

public String formatDMYHMS(Date date)

formatTime

public String formatTime(Date date)

formatDay

public String formatDay(Date date)

formatDatePicker

public String formatDatePicker(Date date)

formatDateTimePicker

public String formatDateTimePicker(Date date)

formatRss

public static String formatRss(Date date)
Format a date for RSS feeds. Uses MailDateFormat to format the given date. Returns an empty string if null is passed in.

Parameters:
date - date to format
Returns:
formatted date or empty string

formatRssRfc822

public static String formatRssRfc822(Date date)
Formats a date using the correct RFC822 format as indicated in the RSS v2 specification and not using the MailDateFormat which is technically incorrect. MailDateFormat will however parse this format.

See http://cyber.law.harvard.edu/rss/rss.html

See http://asg.web.cmu.edu/rfc/rfc822.html#sec-5.1

Correct : Wed, 22 Aug 2007 10:00:10 +1000

Incorrect : Wed, 22 Aug 2007 10:00:10 +1000 (GMT+10:00)

Parameters:
date - the date to format into a string
Returns:
a date string in RFC822 format
Since:
v3.10.3

parseRss

public static Date parseRss(String rssDate)
                     throws ParseException
Parse a date from RSS feeds. Uses MailDateFormat to parse the date.

Parameters:
rssDate - RSS date
Returns:
new Date created from the given string
Throws:
ParseException - if string parsing fails

format

public String format()

format

public String format(Date date)

format

public String format(Date date,
                     Locale remoteUserLocale)
Deprecated. Please use format(java.util.Date) instead.

Formats the given date.

Parameters:
date - date to format
remoteUserLocale - this parameter is ignored
Returns:
formatted date as string

getNow

public Date getNow()
Returns new date

Returns:
new date

daysAgo

public int daysAgo(Date date)

daysAgo

public int daysAgo(Date oldDate,
                   Date newDate)
The method determines whether the date lies between now and previous midnight (TODAY), between now and the midnight before previous (YESTERDAY), or between now and 7 midnights ago (THIS_WEEK). If the passed in date does not fall in any of the mentioned ranges, the method returns OTHER.

Parameters:
oldDate - old date
newDate - new date
Returns:
TODAY, YESTERDAY, THIS_WEEK or OTHER

parseDatePicker

public Date parseDatePicker(String value)
                     throws ParseException
Throws:
ParseException

parseCompleteDateTime

public Date parseCompleteDateTime(String value)
                           throws ParseException
Throws:
ParseException

parseDateTimePicker

public Date parseDateTimePicker(String value)
                         throws ParseException
Throws:
ParseException

getDatePickerFormat

public String getDatePickerFormat()

getDatePickerFormatSample

public String getDatePickerFormatSample(Date date)

getDateTimePickerFormatSample

public String getDateTimePickerFormatSample(Date date)

isDatePickerDate

public boolean isDatePickerDate(String value)

getDateTimePickerFormat

public String getDateTimePickerFormat()

getCompleteDateTimeFormat

public String getCompleteDateTimeFormat()

getCompleteDateFormat

public DateFormat getCompleteDateFormat()
This helper is here to assist with formatting emails etc, and should only be used by JIRAVelocityManager.

Returns:
a SimpleDateFormat based on the run-time value of APKeys.JIRA_LF_DATE_COMPLETE


Copyright © 2002-2009 Atlassian. All Rights Reserved.