;;---------------------=={ Internet Time }==------------------;;
;; ;;
;; Returns the date and/or UTC time as a string in the ;;
;; format specified. Data is sourced from a NIST server. ;;
;;------------------------------------------------------------;;
;; Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;;
;;------------------------------------------------------------;;
;; Arguments: ;;
;; format - string specifying format of returned information ;;
;; using the following identifiers to represent ;;
;; date & time quantities: ;;
;; YYYY = 4-digit year ;;
;; YY = Year, MO = Month, DD = Day ;;
;; HH = Hour, MM = Minutes, SS = Seconds ;;
;;------------------------------------------------------------;;
;; Returns: String containing formatted date/time data ;;
;;------------------------------------------------------------;;
(defun LM:InternetTime
( format
/ result rgx server xml
) (setq server
"http://time.nist.gov:13") )
)
'("YYYY" "YY" "MO" "DD" "HH" "MM" "SS")
'( "$1" "$2" "$3" "$4" "$5" "$6" "$7")
)
"(?:[^\\d]+)([\\d]+)(?:[^\\d]+)([\\d]+)"
"(?:[^\\d]+)([\\d]+)(?:[^\\d]+)([\\d]+)"
"(?:[^\\d]+)([\\d]+)(?:[^\\d]+)([\\d]+)"
"(?:[^\\d]+)([\\d]+)(?:.+)\\n"
)
)
)
)
)
)
)
)
result
)
)
;; Julian Date to Calendar Year - Lee Mac
;; Algorithm from: Meeus, Jean. Astronomical Algorithms.
(defun jtoy
( j
/ a b c d
) a
(fix (/ (- j
1867216.25) 36524.25)) b
(+ (- (+ j
1 a
) (fix (/ a
4))) 1524) c
(fix (/ (- b
122.1) 365.25)) d
(fix (/ (- b
(fix (* 365.25 c
))) 30.6001)) )
(fix (- c
(if (< 2 (fix (if (< d
14) (1- d
) (- d
13)))) 4716 4715))) )