Class JavaDateMathParser

  • All Implemented Interfaces:
    DateMathParser

    public class JavaDateMathParser
    extends 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 Detail

      • parse

        public Instant parse​(String text,
                             LongSupplier now,
                             boolean roundUpProperty,
                             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
        roundUpProperty - should the result be rounded up with the granularity of the rounding (e.g. now/M)
        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