Function: rng-xsd-month-days
rng-xsd-month-days is a byte-compiled function defined in
rng-xsd.el.gz.
Signature
(rng-xsd-month-days MONTHS REF-YEAR REF-MONTH)
Documentation
Return the days in a number of months starting on a reference date.
MONTHS must be an integer >= 0.
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/rng-xsd.el.gz
(defun rng-xsd-month-days (months ref-year ref-month)
"Return the days in a number of months starting on a reference date.
MONTHS must be an integer >= 0."
(let ((days 0))
(setq months (mod months rng-xsd-months-per-gregorian-cycle))
;; This may be rather slow, but it is highly unlikely
;; ever to be used in real life.
(while (> months 0)
(setq days
(+ (rng-xsd-days-in-month ref-year ref-month)
days))
(setq ref-month
(if (eq ref-month 12)
(progn
(setq ref-year (1+ ref-year))
1)
(1+ ref-month)))
(setq months (1- months)))
(+ (* (/ months rng-xsd-months-per-gregorian-cycle)
rng-xsd-days-per-gregorian-cycle)
days)))