Class FixedDateFormat
java.lang.Object
org.apache.logging.log4j.core.util.datetime.FixedDateFormat
Custom time formatter that trades flexibility for performance. This formatter only supports the date patterns defined
in
FixedDateFormat.FixedFormat. For any other date patterns use FastDateFormat.
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 ClassesModifier and TypeClassDescriptionstatic enumEnumeration over the supported date/time format patterns.static enumFixed time zone formats. -
Method Summary
Modifier and TypeMethodDescriptionstatic FixedDateFormatcreate(FixedDateFormat.FixedFormat format) Returns a newFixedDateFormatobject for the specifiedFixedFormatand aTimeZone.getDefault()TimeZone.static FixedDateFormatcreate(FixedDateFormat.FixedFormat format, TimeZone tz) Returns a newFixedDateFormatobject for the specifiedFixedFormatand TimeZone.static FixedDateFormatcreateIfSupported(String... options) format(long epochMillis) intformat(long epochMillis, char[] buffer, int startPos) formatInstant(Instant instant) intformatInstant(Instant instant, char[] buffer, int startPos) Returns the full pattern of the selected fixed format.Returns the time zone.booleanisEquivalent(long oldEpochSecond, int oldNanoOfSecond, long epochSecond, int nanoOfSecond) Returnstrueif the old and new date values will result in the same formatted output,falseif results may differ.longmillisSinceMidnight(long currentTime) Returns the number of milliseconds since midnight in the time zone that thisFixedDateFormatwas constructed with for the specified currentTime.
-
Method Details
-
createIfSupported
-
create
Returns a newFixedDateFormatobject for the specifiedFixedFormatand aTimeZone.getDefault()TimeZone.- Parameters:
format- the format to use- Returns:
- a new
FixedDateFormatobject
-
create
Returns a newFixedDateFormatobject for the specifiedFixedFormatand TimeZone.- Parameters:
format- the format to usetz- the time zone to use- Returns:
- a new
FixedDateFormatobject
-
getFormat
Returns the full pattern of the selected fixed format.- Returns:
- the full date-time pattern
-
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
-
formatInstant
-
format
-
format
public int format(long epochMillis, char[] buffer, int startPos) -
isEquivalent
public boolean isEquivalent(long oldEpochSecond, int oldNanoOfSecond, long epochSecond, int nanoOfSecond) Returnstrueif the old and new date values will result in the same formatted output,falseif results may differ.
-