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
| Category | Utilities |
| Type name | net.noodl.DateParts |
| Available in | browser, cloud |
| SSR compatibility | safe |
| Provided by | noodl-runtime |
Inputs
Values
| Name | Type | Default | Description |
|---|---|---|---|
input | Date | — | The instant to take apart. A string or a millisecond timestamp here is read as a date |
Outputs
Values
| Name | Type | Default | Description |
|---|---|---|---|
date | Number | — | Day of the month, 1-31 |
dayName | String | — | The English name of the weekday. For a localised name, format through Date To String |
dayOfWeek | Number | — | Day of the week as 0-6, Sunday first — JavaScript s own numbering |
hours | Number | — | Hour of the day, 0-23 |
isoWeek | Number | — | ISO-8601 week number, 1-53: weeks start on Monday and week 1 holds the first Thursday |
milliseconds | Number | — | Milliseconds past the second, 0-999 |
minutes | Number | — | Minutes past the hour, 0-59 |
month | Number | — | Month as 1-12 — January is 1, not 0 |
seconds | Number | — | Seconds past the minute, 0-59 |
timestamp | Number | — | The instant as milliseconds since 1 January 1970 UTC |
year | Number | — | Four-digit year, in the host s local zone |
Signals
| Name | Type | Default | Description |
|---|---|---|---|
changed | Signal | — | Fires after a new Date has been taken apart and every part output is up to date |
Failure outputs
| Name | Type | Default | Description |
|---|---|---|---|
failure | Signal | — | 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.
Related nodes
Date To String, Date Compare, Now
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.