Nodes/ComfyUI Ino Nodes/Ino DateTime Duration
ComfyUI Node

Ino DateTime Duration

How long did that run actually take?

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino DateTime Duration
    • iso_format
    • total_seconds
    • total_minutes
    • total_hours
    • total_days
    datetime_a
    datetime_b

    Timing a workflow in ComfyUI usually means watching the console or squinting at a stopwatch, neither of which produces a number you can use in the graph. Ino DateTime Duration fixes that: give it two ISO datetime strings and it returns the difference between them in every unit you could want - seconds, minutes, hours, days, plus the ISO duration itself. Bolt it onto a timestamp node from the same pack and you've got built-in run-time reporting.

    It's part of the Ino Nodes pack (nobandegani), a small time-helper node built on ComfyUI's newer V3 schema. No network, no models, no state - pure arithmetic on strings.

    What it does

    Two string inputs, datetime_a and datetime_b, both expected in ISO datetime format (the exact format the pack's Ino DateTime Simple produces - they're designed to pair up). The node parses them and subtracts one from the other.

    The outputs are the difference expressed five ways:

    • iso_format - the raw duration as a string (e.g. 1 day, 2:30:00), useful for logging or display.
    • total_seconds, total_minutes, total_hours, total_days - the same duration in each unit as FLOATs.

    That last set is the useful one. total_seconds feeds a Compare node for a "did this run take too long" check. total_minutes or total_hours makes a readable metric for a save-text or logging node. And because they're all floats, they math cleanly into whatever you're building.

    One ordering detail worth knowing: it's datetime_a minus datetime_b, so feed the later timestamp as a to get a positive duration. Swap them and you get a negative number, which is usually a wiring mistake rather than a feature.

    Where it fits

    The natural setup is a graph that records when a run starts and when it finishes. Put Ino DateTime Simple at the top of a workflow to stamp a start time, stamp again at the end, and feed both into this node - then log total_seconds alongside the output. You get per-run timing data without touching the console. Same idea works for tracking a download: stamp before and after the download node and you know exactly what that fetch cost you.

    It's a tiny node with a specific job, and it does that job cleanly. If you only need "how long did the whole queue take," your OS already tells you; this earns its place when the timing has to live inside the graph as data.

    Installing it

    It arrives with the full Ino Nodes pack. ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart. Or manually:

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

    Restart after. Pack-wide caveats apply: it's built on ComfyUI's V3 schema (README wants v0.18.1+), and requirements.txt installs inopyutils, the helper library every node in the pack imports.

    Common issues

    The classic failure is a format mismatch - if one timestamp is ISO and the other is YYYY-MM-DD HH:MM:SS, parsing throws and you get nothing useful out. Keep both strings in ISO form (the pack's own timestamp node gives you this by default). And double-check which input is "later": a - b with a reversed order gives a negative duration. Search "Ino DateTime Duration" in the node menu.

    CategoryInoTimeHelper

    Inputs (2)

    NameTypeDefaultDescription
    datetime_aSTRING
    datetime_bSTRING

    Outputs (5)

    NameTypeDescription
    iso_formatSTRING
    total_secondsFLOAT
    total_minutesFLOAT
    total_hoursFLOAT
    total_daysFLOAT