Nodes/ComfyUI_EmAySee_CustomNodes/EmAySee Date Time Filename String - Seeded
ComfyUI Node

EmAySee Date Time Filename String - Seeded

A timestamp that double-duties as a filename — and a seed input that does nothing

By EmAySee·Created about a year ago·Updated 4 months ago· 2
EmAySee Date Time Filename String - Seeded
    • DATE_TIME_STRING
    seed0

    The display name says it all: this is a "Date Time Filename String" node. Feed its output into a filename builder or a SaveImage prefix and every file gets a human-readable, sortable timestamp instead of ComfyUI's opaque ComfyUI_00001_. It's the kind of node you don't think about until you're digging through a folder of 400 generated PNGs trying to find the one from yesterday's run.

    How it works

    The mechanism is three lines of Python: it grabs datetime.datetime.now(), formats it as %Y%m%d%H%M%S, then appends tenths of a second (microseconds divided by 100000). So you get something like 20260816144237 plus a single digit. That's it - no API, no models, nothing to download.

    The seed input is the honest thing to know up front: the code accepts it and never uses it. The function signature takes seed, then ignores it and returns the current time. So why is it there? Because it's a ComfyUI widget that marks the node dirty when you change it. Bump the seed (or hit the randomize dice) and ComfyUI re-runs the node, which stamps a fresh timestamp into your workflow. If you want "now", you have to give the graph a reason to re-execute - that widget is the lever. That's the entire trick.

    The input and output that matter

    There's exactly one input - seed, an INT from 0 up to 2^64. Set it to anything; it's a re-run trigger, not a randomization knob. The single output, DATE_TIME_STRING, is a plain STRING. Wire it into:

    • the filename field of a SaveImage node, or concatenate it with EmAySee_ImageLogger's generated_name for a run log that sorts itself,
    • a prompt or text block when you genuinely want the generation date embedded in the output.

    Install

    Part of the ComfyUI_EmAySee_CustomNodes pack. ComfyUI Manager → search "EmAySee" → install, then restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes
    # restart ComfyUI
    

    No requirements.txt, no model files - this pack's Python deps (requests, aiohttp, tqdm, PIL, numpy, torch) are all things ComfyUI already ships with. On startup you'll see a big "SPECTRE v5.0" ASCII banner in the console; that's normal. The README is AI-generated, admits it's stale, and describes an older node roster - trust the node, not the README.

    Where people get burned

    Timestamps are local time, not UTC, so a timestamp from a 2 a.m. run can look "earlier" than one from 1:59 a.m. - fine for humans, annoying for anything that sorts cross-timezone. And the resolution is only a tenth of a second, so two queued runs in the same instant can collide. If that matters, append your own suffix. And if the node "stops updating," remember the seed: it only fires when the graph re-runs, so queue again or bump the widget.

    CategoryEmAySee_Utils

    Inputs (1)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    DATE_TIME_STRINGSTRING