Function: icalendar-read-date-time

icalendar-read-date-time is a byte-compiled function defined in icalendar-parser.el.gz.

Signature

(icalendar-read-date-time S)

Documentation

Read an icalendar-date-time from a string S.

S should be a match against rx icalendar-date-time.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/icalendar-parser.el.gz
(defun ical:read-date-time (s)
  "Read an `icalendar-date-time' from a string S.
S should be a match against rx `icalendar-date-time'."
  (require 'icalendar-utils) ; for ical:make-date-time; avoids circular requires
  (let ((year (string-to-number (substring s 0 4)))
        (month (string-to-number (substring s 4 6)))
        (day (string-to-number (substring s 6 8)))
        ;; "T" is index 8
        (hour (string-to-number (substring s 9 11)))
        (minute (string-to-number (substring s 11 13)))
        (second (string-to-number (substring s 13 15)))
        (utcoffset (if (and (length= s 16)
                            (equal "Z" (substring s 15 16)))
                       t ; UTC
                     ;; unknown/'floating' time zone:
                     nil)))
    (ical:make-date-time :second second
                         :minute minute
                         :hour hour
                         :day day
                         :month month
                         :year year
                         :zone utcoffset)))