Transform Reference

Date & Time Verbs

Date formatting, parsing, arithmetic (add days/months/years), and date difference calculations.

VerbSyntaxDescriptionTry It
formatDate%formatDate @path "pattern"Format date string Try
formatTimestamp%formatTimestamp @path "pattern"Format timestamp Try
parseDate%parseDate @path "pattern"Parse date from string Try
addDays%addDays @path daysAdd N days Try
addMonths%addMonths @path monthsAdd N months Try
addYears%addYears @path yearsAdd N years Try
dateDiff%dateDiff @p1 @p2 "unit"Difference in units Try
today%todayCurrent date Try
now%nowCurrent timestamp Try
dayOfWeek%dayOfWeek @pathDay of week (0-6) Try
businessDays%businessDays @date ##countAdd N business days (skip weekends) Try
nextBusinessDay%nextBusinessDay @dateNext weekday (Mon-Fri); same day if already weekday Try
formatDuration%formatDuration @durationISO 8601 duration to human-readable ("2 hours, 30 minutes") Try

Reference

Date Format Patterns

PatternDescriptionExample
YYYY4-digit year2024
MM2-digit month06
DD2-digit day15
HH2-digit hour (24h)14
mm2-digit minute30
ss2-digit second45

Business Days (businessDays / nextBusinessDay)

Business day calculations skip weekends only (Saturday and Sunday). No holiday calendar is applied.

  • %businessDays @date ##5 — adds 5 business days, skipping weekends. Negative values subtract.
  • %nextBusinessDay @date — returns the same date if it's Mon–Fri, otherwise advances to the next Monday.

Duration Formatting (formatDuration) — ISO 8601

Converts an ISO 8601 duration string to human-readable text.

ComponentMeaningExample InputOutput
PPeriod prefix (required)P1Y1 year
YYearsP2Y2 years
M (date)MonthsP3M3 months
DDaysP10D10 days
TTime separatorPT2H30M2 hours, 30 minutes
HHoursPT4H4 hours
M (time)MinutesPT45M45 minutes
SSecondsPT30S30 seconds

Example: %formatDuration "P1Y2M3DT4H5M6S""1 year, 2 months, 3 days, 4 hours, 5 minutes, 6 seconds"

Components with value 0 are omitted. Singular/plural forms are applied automatically.

Examples

Date verb examples
; Formatting
eff_us = %formatDate @effective "MMDDYYYY"           ; 2024-06-15 -> "06152024"
eff_iso = %formatDate @effective "YYYY-MM-DD"        ; -> "2024-06-15"

; Parsing
parsed = %parseDate @date_string "MMDDYYYY"          ; "06152024" -> date

; Arithmetic
expiration = %addMonths @effective ##6               ; 2024-06-15 -> 2024-12-15
days_remaining = %dateDiff @today @expiration "days" ; -> 183

; Current
process_date = %formatDate %today "YYYYMMDD"