Package org.apache.catalina.util
Class Strftime
- java.lang.Object
-
- org.apache.catalina.util.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.- Author:
- Bip Thelin, Dan Sandberg
-
-
Field Summary
Fields Modifier and Type Field Description protected java.text.SimpleDateFormat
simpleDateFormat
protected static java.util.Properties
translate
-
Constructor Summary
Constructors Constructor Description Strftime(java.lang.String origFormat, java.util.Locale locale)
Create an instance of this date formatting class
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
convertDateFormat(java.lang.String pattern)
Search the provided pattern and get the C standard Date/Time formatting rules and convert them to the Java equivalent.java.lang.String
format(java.util.Date date)
Format the date according to the strftime-style string given in the constructor.java.util.TimeZone
getTimeZone()
Get the timezone used for formatting conversionsprotected java.lang.String
quote(java.lang.String str, boolean insideQuotes)
void
setTimeZone(java.util.TimeZone timeZone)
Change the timezone used to format datesprotected boolean
translateCommand(java.lang.StringBuilder buf, java.lang.String pattern, int index, boolean oldInside)
Try to get the Java Date/Time formatting associated with the C standard provided.
-
-
-
Method Detail
-
format
public java.lang.String format(java.util.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 java.util.TimeZone getTimeZone()
Get the timezone used for formatting conversions- Returns:
- the timezone
-
setTimeZone
public void setTimeZone(java.util.TimeZone timeZone)
Change the timezone used to format dates- Parameters:
timeZone
- The new time zone- See Also:
DateFormat.setTimeZone(java.util.TimeZone)
-
convertDateFormat
protected java.lang.String convertDateFormat(java.lang.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
-
quote
protected java.lang.String quote(java.lang.String str, boolean insideQuotes)
-
translateCommand
protected boolean translateCommand(java.lang.StringBuilder buf, java.lang.String pattern, int index, boolean oldInside)
Try to get the Java Date/Time formatting associated with the C standard provided.- Parameters:
buf
- The bufferpattern
- The date/time patternindex
- The char indexoldInside
- Flag value- Returns:
- True if new is inside buffer
-
-