Datetime representation
Serverless Stack
Datetimes in Painless are most commonly represented as a numeric value, a string value, or a complex value.
- numeric
- A datetime representation as a number from a starting offset called an epoch; in Painless this is typically a long as milliseconds since an epoch of
1970-01-01 00:00:00Zulu Time. - string
- A datetime representation as a sequence of characters defined by a standard format or a custom format; in Painless this is typically a String of the standard format ISO 8601.
- complex
- A datetime representation as a complex type (object) that abstracts away internal details of how the datetime is stored and often provides utilities for modification and comparison; in Painless this is typically a ZonedDateTime.
Switching between different representations of datetimes is often necessary to achieve a script’s objectives. A typical pattern in a script is to switch a numeric or string datetime to a complex datetime, modify or compare the complex datetime, and then switch it back to a numeric or string datetime for storage or to return a result.