Time Now (UTC)
Timestamps That Mean the Same Thing Everywhere
- trigger
- now
Same idea as Time Now, one crucial difference: the timestamp is taken in UTC instead of your machine's local time. Time Now (UTC) returns the current time as a DATETIME object with the UTC timezone baked in, and like its local sibling, it re-evaluates on every run. You pick this one when your timestamps need to mean the same thing to people in different timezones - or when you just want a filename that doesn't depend on where the machine is set.
How it works
From StableLlama's Basic data handling pack, which defines DATETIME as a custom type. The mechanism is the same as TimeNow: it returns datetime.now(timezone.utc), marked with IS_CHANGED so ComfyUI always treats it as fresh and never caches the value.
Inputs and output are identical to the local version:
trigger- optional ANY input, does nothing to the value. It exists so you can force re-execution when a signal arrives.- Output
now- a DATETIME object (UTC).
The output only connects to this pack's time nodes - TimeFormat to turn it into a string, TimeExtract to pull components, TimeToUnix, or the arithmetic nodes.
When to choose UTC over local
- Portable filenames - share a batch with a collaborator in another timezone and
14:30:05 UTCmeans the same thing to both of you; local times don't. - Collision-proof naming - for automation, UTC timestamps sort and dedupe cleanly, which is why they're standard in server-side naming conventions.
- Scheduled or multi-machine runs - if the same workflow runs on different machines with different local time settings, UTC keeps your naming consistent.
For the filename pipeline it's the same shape as local: Time Now (UTC) → Time Format → use the string in a save path. That approach also dodges the flaky %date% template strings in ComfyUI's built-in save nodes, which are a known source of silent file clobbering - another reason people build timestamps manually with this pack.
Installing it
Search "Basic data handling" in ComfyUI Manager and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/StableLlama/ComfyUI-basic_data_handling
Restart and it's available. No dependencies, no models.
Gotchas
Two things to keep straight. First, the output is still a DATETIME object, not a string - wire it through TimeFormat before it touches a text input. Second, and this trips people up: a UTC datetime has no "local" interpretation, so if you feed it through TimeExtract and expect the components to match your wall clock, they won't. That's the point. If you wanted local wall time, that's the other node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| triggeropt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| now | DATETIME | — |