Skip to content
This repository has been archived by the owner on Oct 6, 2023. It is now read-only.

randing89/datemath-parser

Repository files navigation

datemath-parser

A date math parser compatible with elastic search format

Build Status Coverage Status

Date Math Definition

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-date-format.html#date-math

The date type supports using date math expression when using it in a query/filter (mainly makes sense in range query/filter).

The expression starts with an "anchor" date, which can be either now or a date string (in the applicable format) ending with ||.

It can then follow by a math expression, supporting +, - and / (rounding).

The units supported are y (year), M (month), w (week), d (day), h (hour), m (minute), and s (second).

Here are some samples: now+1h, now+1h+1m, now+1h/d, 2012-01-01||+1M/d.

Note, when doing range type searches, and the upper value is inclusive, the rounding will properly be rounded to the ceiling instead of flooring it.

Usage

Returns an integer representing timestamp in milliseconds

var parser = require('datemath-parser');
parser.parse(dateMathExpression, [now], [roundUp], [timeZone]);

Test

npm test

About

A date math parser compatible with elastic search format

Resources

License

Stars

Watchers

Forks

Packages

No packages published