Function: erc-seconds-to-string

erc-seconds-to-string is a byte-compiled function defined in erc.el.gz.

Signature

(erc-seconds-to-string SECONDS)

Documentation

Convert a number of SECONDS into an English phrase.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc-seconds-to-string (seconds)
  "Convert a number of SECONDS into an English phrase."
  (let (days hours minutes format-args output)
    (setq days          (/ seconds 86400)
          seconds       (% seconds 86400)
          hours         (/ seconds 3600)
          seconds       (% seconds 3600)
          minutes       (/ seconds 60)
          seconds       (% seconds 60)
          format-args   (if (> days 0)
                            `("%d days, %d hours, %d minutes, %d seconds"
                              ,days ,hours ,minutes ,seconds)
                          (if (> hours 0)
                              `("%d hours, %d minutes, %d seconds"
                                ,hours ,minutes ,seconds)
                            (if (> minutes 0)
                                `("%d minutes, %d seconds" ,minutes ,seconds)
                              `("%d seconds" ,seconds))))
          output        (apply #'format format-args))
    ;; Change all "1 units" to "1 unit".
    (while (string-match "\\([^0-9]\\|^\\)1 \\S-+\\(s\\)" output)
      (setq output (replace-match "" nil nil output 2)))
    output))