ezvcard.util
Class VCardDateFormatter

java.lang.Object
  extended by ezvcard.util.VCardDateFormatter

public class VCardDateFormatter
extends Object

Helper class that formats and parses vCard dates. vCard dates adhere to the ISO8601 date format standard.

Author:
Michael Angstadt

Method Summary
static String format(Date date, ISOFormat format)
          Formats a date for inclusion in a vCard.
static String format(Date date, ISOFormat format, TimeZone timeZone)
          Formats a date for inclusion in a vCard.
static String formatTimeZone(int hourOffset, int minuteOffset, boolean extended)
          Formats a timezone offset according to ISO8601 rules.
static String formatTimeZone(TimeZone timeZone, boolean extended)
          Formats a TimeZone object according to ISO8601 rules.
static Date parse(String dateStr)
          Parses a vCard date.
static int[] parseTimeZone(String offsetStr)
          Parses a timezone that's in ISO8601 format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

format

public static String format(Date date,
                            ISOFormat format)
Formats a date for inclusion in a vCard.

Parameters:
date - the date to format
format - the format to use
Returns:
the formatted date

format

public static String format(Date date,
                            ISOFormat format,
                            TimeZone timeZone)
Formats a date for inclusion in a vCard.

Parameters:
date - the date to format
format - the format to use
timeZone - the time zone to format the date in. This will be ignored if the specified ISOFormat is a "UTC" format
Returns:
the formatted date

parse

public static Date parse(String dateStr)
Parses a vCard date.

Parameters:
dateStr - the date string to parse
Returns:
the parsed date
Throws:
IllegalArgumentException - if the date string isn't in one of the accepted ISO8601 formats

parseTimeZone

public static int[] parseTimeZone(String offsetStr)
Parses a timezone that's in ISO8601 format.

Parameters:
offsetStr - the timezone offset string (e.g. "-0500" or "-05:00")
Returns:
the hour offset (index 0) and the minute offset (index 1)
Throws:
IllegalArgumentException - if the timezone string isn't in the right format

formatTimeZone

public static String formatTimeZone(TimeZone timeZone,
                                    boolean extended)
Formats a TimeZone object according to ISO8601 rules.

Parameters:
timeZone - the timezone to format
extended - true to use "extended" format, false not to. Extended format will put a colon between the hour and minute.
Returns:
the formatted timezone (e.g. "+0530" or "+05:30")

formatTimeZone

public static String formatTimeZone(int hourOffset,
                                    int minuteOffset,
                                    boolean extended)
Formats a timezone offset according to ISO8601 rules.

Parameters:
hourOffset - the hour offset
minuteOffset - the minute offset (must be between 0 and 59)
extended - true to use "extended" format, false not to. Extended format will put a colon between the hour and minute.
Returns:
the formatted timezone (e.g. "+0530" or "+05:30")


Copyright © 2012-2013. All Rights Reserved.