Class DateCache


  • public class DateCache
    extends java.lang.Object
    Date Format Cache. Computes String representations of Dates and caches the results so that subsequent requests within the same second will be fast. Only format strings that contain either "ss". Sub second formatting is not handled. The timezone of the date may be included as an ID with the "zzz" format string or as an offset with the "ZZZ" format string. If consecutive calls are frequently very different, then this may be a little slower than a normal DateFormat.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  DateCache.Tick  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_FORMAT  
    • Constructor Summary

      Constructors 
      Constructor Description
      DateCache()
      Constructor.
      DateCache​(java.lang.String format)
      Constructor.
      DateCache​(java.lang.String format, java.util.Locale l)  
      DateCache​(java.lang.String format, java.util.Locale l, java.lang.String tz)  
      DateCache​(java.lang.String format, java.util.Locale l, java.util.TimeZone tz)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String format​(long inDate)
      Format a date according to our stored formatter.
      java.lang.String format​(java.util.Date inDate)
      Format a date according to our stored formatter.
      java.lang.String formatNow​(long now)
      Format a date according to our stored formatter.
      protected DateCache.Tick formatTick​(long now)  
      java.lang.String getFormatString()  
      java.util.TimeZone getTimeZone()  
      java.lang.String now()  
      DateCache.Tick tick()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DateCache

        public DateCache()
        Constructor. Make a DateCache that will use a default format. The default format generates the same results as Date.toString().
      • DateCache

        public DateCache​(java.lang.String format)
        Constructor. Make a DateCache that will use the given format
        Parameters:
        format - the format to use
      • DateCache

        public DateCache​(java.lang.String format,
                         java.util.Locale l)
      • DateCache

        public DateCache​(java.lang.String format,
                         java.util.Locale l,
                         java.lang.String tz)
      • DateCache

        public DateCache​(java.lang.String format,
                         java.util.Locale l,
                         java.util.TimeZone tz)
    • Method Detail

      • getTimeZone

        public java.util.TimeZone getTimeZone()
      • format

        public java.lang.String format​(java.util.Date inDate)
        Format a date according to our stored formatter.
        Parameters:
        inDate - the Date
        Returns:
        Formatted date
      • format

        public java.lang.String format​(long inDate)
        Format a date according to our stored formatter. If it happens to be in the same second as the last formatNow call, then the format is reused.
        Parameters:
        inDate - the date in milliseconds since unix epoch
        Returns:
        Formatted date
      • formatNow

        public java.lang.String formatNow​(long now)
        Format a date according to our stored formatter. The passed time is expected to be close to the current time, so it is compared to the last value passed and if it is within the same second, the format is reused. Otherwise a new cached format is created.
        Parameters:
        now - the milliseconds since unix epoch
        Returns:
        Formatted date
      • now

        public java.lang.String now()
      • getFormatString

        public java.lang.String getFormatString()