Class FixedDateFormat


  • public class FixedDateFormat
    extends Object
    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

    • Method Detail

      • create

        public static FixedDateFormat create​(FixedDateFormat.FixedFormat format)
        Returns a new FixedDateFormat object for the specified FixedFormat and a TimeZone.getDefault() TimeZone.
        Parameters:
        format - the format to use
        Returns:
        a new FixedDateFormat object
      • create

        public static FixedDateFormat create​(FixedDateFormat.FixedFormat format,
                                             TimeZone tz)
        Returns a new FixedDateFormat object for the specified FixedFormat and TimeZone.
        Parameters:
        format - the format to use
        tz - the time zone to use
        Returns:
        a new FixedDateFormat object
      • getFormat

        public String getFormat()
        Returns the full pattern of the selected fixed format.
        Returns:
        the full date-time pattern
      • getTimeZone

        public 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 FixedDateFormat was 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 String formatInstant​(Instant instant)
      • formatInstant

        public int formatInstant​(Instant instant,
                                 char[] buffer,
                                 int startPos)
      • format

        public String format​(long epochMillis)
      • format

        public int format​(long epochMillis,
                          char[] buffer,
                          int startPos)