Class FixedDateFormat
- java.lang.Object
-
- org.apache.logging.log4j.core.util.datetime.FixedDateFormat
-
public class FixedDateFormat extends java.lang.ObjectCustom time formatter that trades flexibility for performance. This formatter only supports the date patterns defined inFixedDateFormat.FixedFormat. For any other date patterns useFastDateFormat.Related benchmarks: /log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/TimeFormatBenchmark.java and /log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadsafeDateFormatBenchmark.java
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFixedDateFormat.FixedFormatEnumeration over the supported date/time format patterns.static classFixedDateFormat.FixedTimeZoneFormatFixed time zone formats.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FixedDateFormatcreate(FixedDateFormat.FixedFormat format)Returns a newFixedDateFormatobject for the specifiedFixedFormatand aTimeZone.getDefault()TimeZone.static FixedDateFormatcreate(FixedDateFormat.FixedFormat format, java.util.TimeZone tz)Returns a newFixedDateFormatobject for the specifiedFixedFormatand TimeZone.static FixedDateFormatcreateIfSupported(java.lang.String... options)java.lang.Stringformat(long epochMillis)intformat(long epochMillis, char[] buffer, int startPos)java.lang.StringformatInstant(Instant instant)intformatInstant(Instant instant, char[] buffer, int startPos)java.lang.StringgetFormat()Returns the full pattern of the selected fixed format.java.util.TimeZonegetTimeZone()Returns the time zone.longmillisSinceMidnight(long currentTime)Returns the number of milliseconds since midnight in the time zone that thisFixedDateFormatwas constructed with for the specified currentTime.
-
-
-
Method Detail
-
createIfSupported
public static FixedDateFormat createIfSupported(java.lang.String... options)
-
create
public static FixedDateFormat create(FixedDateFormat.FixedFormat format)
Returns a newFixedDateFormatobject for the specifiedFixedFormatand aTimeZone.getDefault()TimeZone.- Parameters:
format- the format to use- Returns:
- a new
FixedDateFormatobject
-
create
public static FixedDateFormat create(FixedDateFormat.FixedFormat format, java.util.TimeZone tz)
Returns a newFixedDateFormatobject for the specifiedFixedFormatand TimeZone.- Parameters:
format- the format to usetz- the time zone to use- Returns:
- a new
FixedDateFormatobject
-
getFormat
public java.lang.String getFormat()
Returns the full pattern of the selected fixed format.- Returns:
- the full date-time pattern
-
getTimeZone
public java.util.TimeZone getTimeZone()
Returns the time zone.- Returns:
- the time zone
-
millisSinceMidnight
public long millisSinceMidnight(long currentTime)
Returns the number of milliseconds since midnight in the time zone that this
FixedDateFormatwas constructed with for the specified currentTime.As a side effect, this method updates the cached formatted date and the cached date demarcation timestamps when the specified current time is outside the previously set demarcation timestamps for the start or end of the current day.
- Parameters:
currentTime- the current time in millis since the epoch- Returns:
- the number of milliseconds since midnight for the specified time
-
formatInstant
public java.lang.String formatInstant(Instant instant)
-
formatInstant
public int formatInstant(Instant instant, char[] buffer, int startPos)
-
format
public java.lang.String format(long epochMillis)
-
format
public int format(long epochMillis, char[] buffer, int startPos)
-
-