org.apache.catalina.util

Class Strftime


public class Strftime
extends java.lang.Object

Converts dates to strings using the same format specifiers as strftime Note: This does not mimic strftime perfectly. Certain strftime commands, are not supported, and will convert as if they were literals. Certain complicated commands, like those dealing with the week of the year probably don't have exactly the same behavior as strftime. These limitations are due to use SimpleDateTime. If the conversion was done manually, all these limitations could be eliminated. The interface looks like a subset of DateFormat. Maybe someday someone will make this class extend DateFormat.

Version:
$Revision: 1.3 $, $Date: 2004/05/26 16:26:22 $

Authors:
Bip Thelin
Dan Sandberg

Field Summary

protected SimpleDateFormat
simpleDateFormat
protected static Properties
translate

Constructor Summary

Strftime(String origFormat)
Create an instance of this date formatting class
Strftime(String origFormat, Locale locale)
Create an instance of this date formatting class

Method Summary

protected String
convertDateFormat(String pattern)
Search the provided pattern and get the C standard Date/Time formatting rules and convert them to the Java equivalent.
String
format(Date date)
Format the date according to the strftime-style string given in the constructor.
TimeZone
getTimeZone()
Get the timezone used for formatting conversions
protected String
quote(String str, boolean insideQuotes)
void
setTimeZone(TimeZone timeZone)
Change the timezone used to format dates
protected boolean
translateCommand(StringBuffer buf, String pattern, int index, boolean oldInside)
try to get the Java Date/Time formating associated with the C standard provided

Field Details

simpleDateFormat

protected SimpleDateFormat simpleDateFormat


translate

protected static Properties translate

Constructor Details

Strftime

public Strftime(String origFormat)
Create an instance of this date formatting class

See Also:
Strftime(String,Locale)


Strftime

public Strftime(String origFormat,
                Locale locale)
Create an instance of this date formatting class

Parameters:
origFormat - the strftime-style formatting string
locale - the locale to use for locale-specific conversions

Method Details

convertDateFormat

protected String convertDateFormat(String pattern)
Search the provided pattern and get the C standard Date/Time formatting rules and convert them to the Java equivalent.

Parameters:
pattern - The pattern to search

Returns:
The modified pattern


format

public String format(Date date)
Format the date according to the strftime-style string given in the constructor.

Parameters:
date - the date to format

Returns:
the formatted date


getTimeZone

public TimeZone getTimeZone()
Get the timezone used for formatting conversions

Returns:
the timezone


quote

protected String quote(String str,
                       boolean insideQuotes)


setTimeZone

public void setTimeZone(TimeZone timeZone)
Change the timezone used to format dates

See Also:
SimpleDateFormat.setTimeZone


translateCommand

protected boolean translateCommand(StringBuffer buf,
                                   String pattern,
                                   int index,
                                   boolean oldInside)
try to get the Java Date/Time formating associated with the C standard provided

Parameters:

Returns:
The Java formatting rule to use


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.