date.format

Description

Formats a date/time value using a simple token-based pattern. Supports common date/time tokens and optional timezone offset adjustment.

Syntax

flex.date.format(datetime, pattern, timezone)

Parameters

| Parameter | Type | Required | Description | |———–|——|———-|————-| | datetime | Date/number/string | Yes | The date/time value to format | | pattern | string | No | Format pattern using tokens (default: 'YYYY-MM-DDTHH:mm:ss[Z]') | | timezone | string | No | Timezone offset like "+02:00" or "-05:00" |

Supported Pattern Tokens

| Token | Description | Example | |——-|————-|———| | YYYY | 4-digit year | 2024 | | MM | 2-digit month (01-12) | 03 | | DD | 2-digit day (01-31) | 15 | | HH | 2-digit hour (00-23) | 14 | | mm | 2-digit minute (00-59) | 30 | | ss | 2-digit second (00-59) | 45 | | SSS | 3-digit milliseconds | 123 | | [Z] | Literal ‘Z’ character | Z |

Returns

Type: string

A formatted date/time string according to the pattern. Returns null if the input date is invalid.

Examples

Example 1: Basic Date Formatting

WITH datetime('2024-03-15T14:30:00Z') AS dt
RETURN flex.date.format(dt, 'YYYY-MM-DD') AS date

Output:

date
----------
2024-03-15

Example 2: Full DateTime with Time

WITH datetime('2024-03-15T14:30:45Z') AS dt
RETURN flex.date.format(dt, 'YYYY-MM-DD HH:mm:ss') AS formatted

Output:

formatted
-------------------
2024-03-15 14:30:45

Example 3: Custom Format with Timezone

WITH datetime('2024-03-15T14:30:00Z') AS dt
RETURN flex.date.format(dt, 'DD/MM/YYYY HH:mm', '+02:00') AS localTime

Output:

localTime
-----------------
15/03/2024 16:30

(Adjusted for +02:00 timezone)

Example 4: Formatting Node Timestamps

MATCH (e:Event)
RETURN e.name, flex.date.format(e.timestamp, 'YYYY-MM-DD') AS eventDate
ORDER BY e.timestamp DESC

Notes

  • Returns null for invalid date inputs
  • Default pattern is ISO8601-like: 'YYYY-MM-DDTHH:mm:ss[Z]'
  • Timezone parameter adjusts the displayed time for the given offset
  • All calculations are UTC-based internally
  • Milliseconds are optional in the pattern

See Also