Top Inners Fields Constructors Methods
org.jruby.util

public Class RubyDateFormatter

extends Object
Class Inheritance
Imports
java.text.DateFormat, .DateFormatSymbols, .ParsePosition, java.util.Calendar, .Date, .Locale, jnr.constants.platform.Errno, org.jcodings.Encoding, org.joda.time.Chronology, .DateTime, org.joda.time.chrono.GJChronology, .JulianChronology, org.jruby.Ruby, .RubyNumeric, .RubyString, .RubyTime, org.jruby.lexer.StrftimeLexer, org.jruby.runtime.ThreadContext

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static enum
public static enum
public static class

Field Summary

Modifier and TypeField and Description
private static final ByteList
private static final ByteList
private static final ByteList
public static RubyDateFormatter.Token
private RubyDateFormatter.Token[]
private int
private static final RubyDateFormatter.Token[]
public static RubyDateFormatter.Token
public static RubyDateFormatter.Token
private static final String[]
private static final String[]
private static final String[]
private static final String[]
private final StrftimeLexer
private Encoding
private static final ByteList
private final Ruby
public static RubyDateFormatter.Token

Constructor Summary

AccessConstructor and Description
public
RubyDateFormatter(ThreadContext context)

Constructor for RubyDateFormatter.

Method Summary

Modifier and TypeMethod and Description
private void
private void
public RubyString
compileAndFormat(ByteList pattern, boolean dateLibrary, DateTime dt, long nsec, RubyNumeric sub_millis)

Convenience method when using no pattern caching

public void
compilePattern(ByteList pattern, boolean dateLibrary)

public RubyString
format(RubyDateFormatter.Token[] compiledPattern, DateTime dt, long nsec, RubyNumeric sub_millis)

private static void
formatSubMillisGt3(ThreadContext context, final ByteList buff, final int width, RubyNumeric sub_millis)

private ByteList
formatToByteList(RubyDateFormatter.Token[] compiledPattern, DateTime dt, long nsec, RubyNumeric sub_millis)

private static int
formatWeekYear(DateTime dt, int firstDayOfWeek)

private static ByteList
formatZone(int colons, int value, RubyTimeOutputFormatter formatter)

private void
public Date
parse(String source, ParsePosition pos)

private static int
year(DateTime dt, int year)

Ruby always follows Astronomical year numbering, that is BC x is -x+1 and there is a year 0 (BC 1) but Joda-time returns -x for year x BC in Julian chronology (no year 0)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

AMback to summary
private static final ByteList AM
CAPITAL_AMback to summary
private static final ByteList CAPITAL_AM
CAPITAL_PMback to summary
private static final ByteList CAPITAL_PM
COLON_TOKENback to summary
public static RubyDateFormatter.Token COLON_TOKEN
compiledPatternback to summary
private RubyDateFormatter.Token[] compiledPattern
compiledPatternLengthback to summary
private int compiledPatternLength
CONVERSION2TOKENback to summary
private static final RubyDateFormatter.Token[] CONVERSION2TOKEN
DASH_TOKENback to summary
public static RubyDateFormatter.Token DASH_TOKEN
DOT_TOKENback to summary
public static RubyDateFormatter.Token DOT_TOKEN
FORMAT_MONTHSback to summary
private static final String[] FORMAT_MONTHS
FORMAT_SHORT_MONTHSback to summary
private static final String[] FORMAT_SHORT_MONTHS
FORMAT_SHORT_WEEKDAYSback to summary
private static final String[] FORMAT_SHORT_WEEKDAYS
FORMAT_WEEKDAYSback to summary
private static final String[] FORMAT_WEEKDAYS
lexerback to summary
private final StrftimeLexer lexer
patternEncodingback to summary
private Encoding patternEncoding
PMback to summary
private static final ByteList PM
runtimeback to summary
private final Ruby runtime
SLASH_TOKENback to summary
public static RubyDateFormatter.Token SLASH_TOKEN

Constructor Detail

RubyDateFormatterback to summary
public RubyDateFormatter(ThreadContext context)

Constructor for RubyDateFormatter.

Method Detail

addTokenback to summary
private void addToken(RubyDateFormatter.Token token)
addToPatternback to summary
private void addToPattern(String str)
compileAndFormatback to summary
public RubyString compileAndFormat(ByteList pattern, boolean dateLibrary, DateTime dt, long nsec, RubyNumeric sub_millis)

Convenience method when using no pattern caching

compilePatternback to summary
public void compilePattern(ByteList pattern, boolean dateLibrary)
formatback to summary
public RubyString format(RubyDateFormatter.Token[] compiledPattern, DateTime dt, long nsec, RubyNumeric sub_millis)
formatSubMillisGt3back to summary
private static void formatSubMillisGt3(ThreadContext context, final ByteList buff, final int width, RubyNumeric sub_millis)
formatToByteListback to summary
private ByteList formatToByteList(RubyDateFormatter.Token[] compiledPattern, DateTime dt, long nsec, RubyNumeric sub_millis)
formatWeekYearback to summary
private static int formatWeekYear(DateTime dt, int firstDayOfWeek)
formatZoneback to summary
private static ByteList formatZone(int colons, int value, RubyTimeOutputFormatter formatter)
growTokensback to summary
private void growTokens()
parseback to summary
public Date parse(String source, ParsePosition pos)
See Also
DateFormat#parse(String, ParsePosition)
yearback to summary
private static int year(DateTime dt, int year)

Ruby always follows Astronomical year numbering, that is BC x is -x+1 and there is a year 0 (BC 1) but Joda-time returns -x for year x BC in Julian chronology (no year 0)

org.jruby.util back to summary

pack-priv final Enum RubyDateFormatter.FieldType

extends Enum<RubyDateFormatter.FieldType>
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final char
pack-priv final int
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType
public static final RubyDateFormatter.FieldType

Constructor Summary

AccessConstructor and Description
private
FieldType(char padder, int width)

Method Summary

Modifier and TypeMethod and Description
public static RubyDateFormatter.FieldType
public static RubyDateFormatter.FieldType[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

defaultPadderback to summary
pack-priv final char defaultPadder
defaultWidthback to summary
pack-priv final int defaultWidth
NUMERICback to summary
public static final RubyDateFormatter.FieldType NUMERIC
NUMERIC2back to summary
public static final RubyDateFormatter.FieldType NUMERIC2
NUMERIC2BLANKback to summary
public static final RubyDateFormatter.FieldType NUMERIC2BLANK
NUMERIC3back to summary
public static final RubyDateFormatter.FieldType NUMERIC3
NUMERIC4back to summary
public static final RubyDateFormatter.FieldType NUMERIC4
NUMERIC5back to summary
public static final RubyDateFormatter.FieldType NUMERIC5
TEXTback to summary
public static final RubyDateFormatter.FieldType TEXT

Constructor Detail

FieldTypeback to summary
private FieldType(char padder, int width)

Method Detail

valueOfback to summary
public static RubyDateFormatter.FieldType valueOf(String name)
valuesback to summary
public static RubyDateFormatter.FieldType[] values()
org.jruby.util back to summary

public final Enum RubyDateFormatter.Format

extends Enum<RubyDateFormatter.Format>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
FORMAT_COLON_ZONE_OFF

%z, %:z, %::z, %:::z

public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
FORMAT_OUTPUT

formatter

public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
FORMAT_SPECIAL

composition of other formats, or depends on library

public static final RubyDateFormatter.Format
FORMAT_STRING

raw string, no formatting

public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format
public static final RubyDateFormatter.Format

Constructor Summary

AccessConstructor and Description
private
private
Format(char conversion)

private
Format(char conversion, char alias)

Method Summary

Modifier and TypeMethod and Description
private static void
addToConversions(char conversion, RubyDateFormatter.Token token)

private static RubyDateFormatter.Token
conversionToToken(int conversion)

public static RubyDateFormatter.Format
public static RubyDateFormatter.Format[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

FORMAT_CENTURYback to summary
public static final RubyDateFormatter.Format FORMAT_CENTURY

%C

FORMAT_COLON_ZONE_OFFback to summary
public static final RubyDateFormatter.Format FORMAT_COLON_ZONE_OFF

%z, %:z, %::z, %:::z

FORMAT_DAYback to summary
public static final RubyDateFormatter.Format FORMAT_DAY

%d

FORMAT_DAY_Sback to summary
public static final RubyDateFormatter.Format FORMAT_DAY_S

%e

FORMAT_DAY_WEEKback to summary
public static final RubyDateFormatter.Format FORMAT_DAY_WEEK

%w

FORMAT_DAY_WEEK2back to summary
public static final RubyDateFormatter.Format FORMAT_DAY_WEEK2

%u

FORMAT_DAY_YEARback to summary
public static final RubyDateFormatter.Format FORMAT_DAY_YEAR

%j

FORMAT_EPOCHback to summary
public static final RubyDateFormatter.Format FORMAT_EPOCH

%s

FORMAT_HOURback to summary
public static final RubyDateFormatter.Format FORMAT_HOUR

%H

FORMAT_HOUR_BLANKback to summary
public static final RubyDateFormatter.Format FORMAT_HOUR_BLANK

%k

FORMAT_HOUR_Mback to summary
public static final RubyDateFormatter.Format FORMAT_HOUR_M

%I

FORMAT_HOUR_Sback to summary
public static final RubyDateFormatter.Format FORMAT_HOUR_S

%l

FORMAT_MERIDIANback to summary
public static final RubyDateFormatter.Format FORMAT_MERIDIAN

%p

FORMAT_MERIDIAN_LOWER_CASEback to summary
public static final RubyDateFormatter.Format FORMAT_MERIDIAN_LOWER_CASE

%P

FORMAT_MICROSEC_EPOCHback to summary
public static final RubyDateFormatter.Format FORMAT_MICROSEC_EPOCH

%Q

FORMAT_MILLISECback to summary
public static final RubyDateFormatter.Format FORMAT_MILLISEC

%L

FORMAT_MINUTESback to summary
public static final RubyDateFormatter.Format FORMAT_MINUTES

%M

FORMAT_MONTHback to summary
public static final RubyDateFormatter.Format FORMAT_MONTH

%m

FORMAT_MONTH_LONGback to summary
public static final RubyDateFormatter.Format FORMAT_MONTH_LONG

%B

FORMAT_MONTH_SHORTback to summary
public static final RubyDateFormatter.Format FORMAT_MONTH_SHORT

%b, %h

FORMAT_NANOSECback to summary
public static final RubyDateFormatter.Format FORMAT_NANOSEC

%N

FORMAT_OUTPUTback to summary
public static final RubyDateFormatter.Format FORMAT_OUTPUT

formatter

FORMAT_SECONDSback to summary
public static final RubyDateFormatter.Format FORMAT_SECONDS

%S

FORMAT_SPECIALback to summary
public static final RubyDateFormatter.Format FORMAT_SPECIAL

composition of other formats, or depends on library

FORMAT_STRINGback to summary
public static final RubyDateFormatter.Format FORMAT_STRING

raw string, no formatting

FORMAT_WEEK_LONGback to summary
public static final RubyDateFormatter.Format FORMAT_WEEK_LONG

%A

FORMAT_WEEK_SHORTback to summary
public static final RubyDateFormatter.Format FORMAT_WEEK_SHORT

%a

FORMAT_WEEK_WEEKYEARback to summary
public static final RubyDateFormatter.Format FORMAT_WEEK_WEEKYEAR

%V

FORMAT_WEEK_YEAR_Mback to summary
public static final RubyDateFormatter.Format FORMAT_WEEK_YEAR_M

%W

FORMAT_WEEK_YEAR_Sback to summary
public static final RubyDateFormatter.Format FORMAT_WEEK_YEAR_S

%U

FORMAT_WEEKYEARback to summary
public static final RubyDateFormatter.Format FORMAT_WEEKYEAR

%G

FORMAT_WEEKYEAR_SHORTback to summary
public static final RubyDateFormatter.Format FORMAT_WEEKYEAR_SHORT

%g

FORMAT_YEAR_LONGback to summary
public static final RubyDateFormatter.Format FORMAT_YEAR_LONG

%Y

FORMAT_YEAR_SHORTback to summary
public static final RubyDateFormatter.Format FORMAT_YEAR_SHORT

%y

FORMAT_ZONE_IDback to summary
public static final RubyDateFormatter.Format FORMAT_ZONE_ID

%Z

Constructor Detail

Formatback to summary
private Format()
Formatback to summary
private Format(char conversion)
Formatback to summary
private Format(char conversion, char alias)

Method Detail

addToConversionsback to summary
private static void addToConversions(char conversion, RubyDateFormatter.Token token)
conversionToTokenback to summary
private static RubyDateFormatter.Token conversionToToken(int conversion)
valueOfback to summary
public static RubyDateFormatter.Format valueOf(String name)
valuesback to summary
public static RubyDateFormatter.Format[] values()
org.jruby.util back to summary

public Class RubyDateFormatter.Token

extends Object
Class Inheritance
Known Direct Subclasses
org.jruby.util.RubyTimeOutputFormatter

Field Summary

Modifier and TypeField and Description
protected Object
private final RubyDateFormatter.Format

Constructor Summary

AccessConstructor and Description
protected
public
Token(RubyDateFormatter.Format formatString, Object data)

Method Summary

Modifier and TypeMethod and Description
public static RubyDateFormatter.Token
format(char c)

public static RubyDateFormatter.Token
public Object

Returns:

Returns a Object
getData
()

Gets the data.

public RubyDateFormatter.Format

Returns:

Returns a int
getFormat
()

Gets the format.

public static RubyDateFormatter.Token
special(char c)

public static RubyDateFormatter.Token
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public static RubyDateFormatter.Token
zoneOffsetColons(int colons)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

databack to summary
protected Object data
formatback to summary
private final RubyDateFormatter.Format format

Constructor Detail

Tokenback to summary
protected Token(RubyDateFormatter.Format format)
Tokenback to summary
public Token(RubyDateFormatter.Format formatString, Object data)

Method Detail

formatback to summary
public static RubyDateFormatter.Token format(char c)
formatterback to summary
public static RubyDateFormatter.Token formatter(RubyTimeOutputFormatter formatter)
getDataback to summary
public Object getData()

Gets the data.

Returns:Object

Returns a Object

getFormatback to summary
public RubyDateFormatter.Format getFormat()

Gets the format.

Returns:RubyDateFormatter.Format

Returns a int

specialback to summary
public static RubyDateFormatter.Token special(char c)
strback to summary
public static RubyDateFormatter.Token str(ByteList str)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
zoneOffsetColonsback to summary
public static RubyDateFormatter.Token zoneOffsetColons(int colons)