Nodes/ComfyUI Ino Nodes/Ino DateTime Custom
ComfyUI Node

Ino DateTime Custom

Stamp your files with a timestamp built exactly how you want it

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino DateTime Custom
    • datetime
    seed0
    include_yeartrue
    include_monthtrue
    include_daytrue
    include_hourtrue
    include_minutetrue
    include_secondtrue
    date_sep-
    datetime_sep-
    time_sep-

    Timestamps are the boring glue that keeps batch workflows from colliding. Run a generation ten times and save the results - without a unique string in the filename, every run overwrites the last one. Ino DateTime Custom builds that timestamp string for you: it returns the current date and time formatted to your spec, with each component individually toggleable. The README lists it as "Returns a customizable datetime string with selectable components and separators," and that's exactly what it does.

    Wire the datetime STRING output into a filename, a save node, or any string builder, and suddenly every run lands in its own file. It's the time-helper you reach for when the plain ISO format isn't the shape you want.

    How it works

    The node reads the clock at execution, then assembles the string from the components you've switched on. Date parts (year, month, day) get joined by date_sep; time parts (hour, minute, second) by time_sep; and the two groups are joined by datetime_sep. Anything you toggle off simply drops out of the string. One detail worth knowing: it uses your local machine time (datetime.now()), not UTC - the pack's other date node, Ino DateTime Simple, is the UTC/ISO one. So this is the choice for human-friendly local timestamps.

    The inputs that matter

    • seed - present for the pack's "control after generate" convention; the value doesn't shape the output, it's just there to fit the family pattern.
    • include_year / include_month / include_day / include_hour / include_minute / include_second - the six toggles that decide what's in the string. All default on.
    • date_sep / datetime_sep / time_sep - the separators. Defaults are -, -, -, which gives you 2026-08-16-14-35-22. That works but reads poorly; most people set datetime_sep to a space and time_sep to : for 2026-08-16 14:35:22.

    Output: datetime - the assembled STRING.

    Where it wires in

    The classic use is file naming: timestamp + batch name into a save node so each run is unique and sortable. It's also handy for logging and for making workflow runs auditable - stick the datetime string in a JSON log or a save-text node and you've got a record of when each pass ran.

    Installing it

    Part of ComfyUI-InoNodes. ComfyUI Manager → search "ComfyUI Ino Nodes" → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nobandegani/ComfyUI-InoNodes
    cd comfyui_ino_nodes
    pip install -r requirements.txt
    

    Restart after. No keys, no models - just the pack's core inopyutils dependency.

    Common issues

    The usual surprise is the separator defaults: with all three at -, you get 2026-08-16-14-35-22 and think something's broken. It's not - change datetime_sep/time_sep and rerun. Second, if you toggle everything off, you get an empty string and a filename that's all prefix - the node returns "" rather than erroring, so check your toggles before blaming a save node. And don't rely on it for unique-per-run naming inside a single batch pass: the string is generated once per node execution, so multiple items sharing the node get the same stamp. That's what InoIncrementBatchName is for.

    CategoryInoTimeHelper

    Inputs (10)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    include_yearBOOLEANtrue
    include_monthBOOLEANtrue
    include_dayBOOLEANtrue
    include_hourBOOLEANtrue
    include_minuteBOOLEANtrue
    include_secondBOOLEANtrue
    date_sepSTRING-
    datetime_sepSTRING-
    time_sepSTRING-

    Outputs (1)

    NameTypeDescription
    datetimeSTRING