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

  1. # paste::delta --
  2. #
  3. # Returns the time difference between the given and current time
  4. # as an english string.
  5. #
  6. proc ::paste::delta {time} {
  7. set r $time
  8. catch {
  9. set delta [expr {[clock seconds] - $time}]
  10. if {$delta < 60} {
  11. set r "$delta secs ago"
  12. } elseif {$delta < 3600} {
  13. set r "[expr {$delta / 60}] mins ago"
  14. } elseif {$delta < 86400} {
  15. set r "[expr {$delta / 3600}] hours ago"
  16. } else {
  17. set r "[expr {$delta / 86400}] days ago"
  18. }
  19. }
  20. return $r
  21. }