ComfyUI Node

RsaveDate

A timestamp string for unique filenames — the one-node fix for overwriting your own saves

By MrFrankHobbidy·Created 6 months ago·Updated 5 months ago· 0
RsaveDate
    • date
    prefix
    format%Y-%m-%d-%H-%M-%S

    RsaveDate is the least glamorous node in this pack and probably the one you'll use most. It outputs the current date and time as a string. That's it. One string out, no wires in, no image, no tensor. It exists to solve one specific annoyance: giving every save a filename that can't collide.

    In the author's own example workflow it feeds straight into Rsave's filename_prefix, so every .npy dump gets a timestamped name instead of overwriting the last one. Same trick works with any filename input - convert SaveImage's filename_prefix widget to an input (right-click → Convert widget to input) and wire RsaveDate in. Your outputs stop being ComfyUI_00001_.png and become 2026-08-23-14-05-33.png, which is sortable, searchable, and never repeats.

    How it works

    Two settings, both text boxes, and that's the whole surface:

    • format (default %Y-%m-%d-%H-%M-%S) - a Python strftime format string. The default produces 2026-08-23-14-05-33. The codes you'll actually reach for: %Y (year), %m (month), %d (day), %H (24-hour), %M (minute), %S (second). Want the short year? %y. Want hours so it's 02:05 PM not 14:05? Swap %H for %I and add %p.
    • prefix (default empty) - just prepended to the result, so gen_ turns the default into gen_2026-08-23-14-05-33. No separator is added for you; throw one in the prefix yourself.

    The clever bit is invisible: the node implements IS_CHANGED and returns the current time, which tells ComfyUI's cache the value is always stale. Normally ComfyUI skips nodes whose inputs haven't changed - a plain date node would happily hand you yesterday's timestamp on the second run. RsaveDate opts out of that caching, so it fires fresh every single run. That's the whole point, and the pack got it right.

    The gotchas

    The output is a plain string, not a path - you still need to combine it with a folder or prefix where you're using it. It's your machine's local time, so don't expect it to be UTC, and don't expect any timezone handling; fine for filenames, wrong for anything that needs an absolute timestamp. And it's Python strftime, which has its own conventions - %d is day-of-month here, not day-of-year, and a few codes that feel familiar from other languages won't behave the same.

    One honest caveat: because the node always reruns, anything downstream of it gets its cache defeated too (that's the documented behavior of IS_CHANGED nodes). For a timestamp feeding a filename that's exactly what you want - a timestamp that only updates sometimes would be useless. Just know that if you wire it into something heavy, that branch re-executes every run.

    Install

    Same pack, same story: ComfyUI Manager (search ComfyUI-ResourcesSave) or

    cd ComfyUI/custom_nodes
    git clone https://github.com/MrFrankHobbidy/ComfyUI-ResourcesSave
    

    then restart. No extra dependencies - it uses only Python's built-in time module. You'll find it under ResourcesSave. Drop it on the canvas, wire the date output into a filename prefix, and you'll never have to guess which file was from when again.

    CategoryResourcesSave

    Inputs (2)

    NameTypeDefaultDescription
    prefixSTRING
    formatSTRING%Y-%m-%d-%H-%M-%S

    Outputs (1)

    NameTypeDescription
    dateSTRING