Class JavaDateMathParser

  • All Implemented Interfaces:
    DateMathParser

    public class JavaDateMathParser
    extends java.lang.Object
    implements DateMathParser
    A parser for date/time formatted text with optional date math. The format of the datetime is configurable, and unix timestamps can also be used. Datemath is appended to a datetime with the following syntax: ||[+-/](\d+)?[yMwdhHms].
    • Method Summary

      Modifier and Type Method Description
      java.time.Instant parse​(java.lang.String text, java.util.function.LongSupplier now, boolean roundUp, java.time.ZoneId timeZone)
      Parse text, that potentially contains date math into the milliseconds since the epoch Examples are 2014-11-18||-2y subtracts two years from the input date now/m rounds the current time to minute granularity Supported rounding units are y year M month w week (beginning on a monday) d day h/H hour m minute s second
      • Methods inherited from class java.lang.Object

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

      • parse

        public java.time.Instant parse​(java.lang.String text,
                                       java.util.function.LongSupplier now,
                                       boolean roundUp,
                                       java.time.ZoneId timeZone)
        Description copied from interface: DateMathParser
        Parse text, that potentially contains date math into the milliseconds since the epoch Examples are 2014-11-18||-2y subtracts two years from the input date now/m rounds the current time to minute granularity Supported rounding units are y year M month w week (beginning on a monday) d day h/H hour m minute s second
        Specified by:
        parse in interface DateMathParser
        Parameters:
        text - the input
        now - a supplier to retrieve the current date in milliseconds, if needed for additions
        roundUp - should the result be rounded up
        timeZone - an optional timezone that should be applied before returning the milliseconds since the epoch
        Returns:
        the parsed date as an Instant since the epoch