Posted to tcl by patthoyts at Sun Aug 26 09:25:07 GMT 2007view pretty

# paste::delta --
#
#       Returns the time difference between the given and current time
#       as an english string.
#
proc ::paste::delta {time} {
    set r $time
    catch {
        set delta [expr {[clock seconds] - $time}]
        if {$delta < 60} {
            set r "$delta secs ago"
        } elseif {$delta < 3600} {
            set r "[expr {$delta / 60}] mins ago"
        } elseif {$delta < 86400} {
            set r "[expr {$delta / 3600}] hours ago"
        } else {
            set r "[expr {$delta / 86400}] days ago"
        }
    }
    return $r
}