Skip to main content

Date Parts

The fields of a date — year, month, day, time, weekday and ISO week — as outputs off one node.

Date Parts takes a date apart into eleven outputs. Month is 1-12, not JavaScript's 0-11: nobody reading a port called Month expects January to be 0. Day of Week keeps JavaScript's numbering (0 is Sunday) and Day Name gives the English name beside it. ISO Week is ISO-8601 — weeks start Monday and week 1 is the one holding the first Thursday, so 1 January 2027 is week 53 of 2026. All fields are read in the host's local zone, which on a server is whatever the container's TZ says; when the zone matters, format through Date To String's Timezone input instead of reading parts here.

When to use it​

Grouping by month or year, branching on the weekday, building a custom label from pieces, or feeding a chart axis. One node rather than seven, so every field comes from the same instant.

At a glance​

CategoryUtilities
Type namenet.noodl.DateParts
Available inbrowser, cloud
SSR compatibilitysafe
Provided bynoodl-runtime

Inputs​

Values​

NameTypeDefaultDescription
inputDate—The instant to take apart. A string or a millisecond timestamp here is read as a date

Outputs​

Values​

NameTypeDefaultDescription
dateNumber—Day of the month, 1-31
dayNameString—The English name of the weekday. For a localised name, format through Date To String
dayOfWeekNumber—Day of the week as 0-6, Sunday first — JavaScript s own numbering
hoursNumber—Hour of the day, 0-23
isoWeekNumber—ISO-8601 week number, 1-53: weeks start on Monday and week 1 holds the first Thursday
millisecondsNumber—Milliseconds past the second, 0-999
minutesNumber—Minutes past the hour, 0-59
monthNumber—Month as 1-12 — January is 1, not 0
secondsNumber—Seconds past the minute, 0-59
timestampNumber—The instant as milliseconds since 1 January 1970 UTC
yearNumber—Four-digit year, in the host s local zone

Signals​

NameTypeDefaultDescription
changedSignal—Fires after a new Date has been taken apart and every part output is up to date

Failure outputs​

NameTypeDefaultDescription
failureSignal—Fires when a date arrived that could not be read, leaving every part unset

Patterns​

  • Date Parts Month → String Mapper: a month name in your own wording, without a formatter.

Watch out for​

  • Reading parts here to render a date for a user in another timezone. Use Date To String with a Timezone; these fields are always local.

Examples​

Group these records by month

Bubble spells this Date1 rounded down to month, and it is really two different questions wearing one phrase. If you want a KEY to group by, that is Date To String — and it must be Date To String rather than Date Parts, because of a difference this example exists to show: Date Parts gives Month as a NUMBER 1-12, so {year}-{month} through String Format renders September as 2026-9, which sorts after 2026-10 as text and quietly scrambles a grouped list. Date To String's {month} token is the zero-padded one, so the same key comes out 2026-09 and sorts correctly. The unpadded tokens there are {m} and {d}; the padded ones are {month} and {date}. If instead you want to COMPARE two dates rounded down — Bubble's equals rounded down to month — do not round at all: Date Compare's Granularity does the truncation internally, so setting it to Month answers 'same month' directly and there is no intermediate value to get wrong. Date Parts is still the right node when you want the fields themselves, and this shows that too: Day Name and ISO Week come off it, and ISO Week is genuinely ISO-8601, so 1 January 2027 is week 53 of 2026 rather than week 1 of 2027. Every field here is read in the host's local zone — on a server, whatever the container's TZ says — so when the zone is part of the answer, format through Date To String's Timezone input instead. The month key is published because grouping happens in the parent: the row can compute its own bucket, but only the list above it can put rows into buckets.

Date To String, Date Compare, Now

Generated

This page is generated from node-catalog-enriched.json. Do not edit it by hand — run npm run docs:nodes to regenerate, and fix the source enrichment instead.