Here is some more...
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ARCH:C_DATE Function ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Algorithms are from collection from Communications of the ACM
;;; Original AutoLISP from AutoDesk examples on Compuserve
(defun ARCH:C_DATE (j / y d m)
(setq j (fix j)
j (- j 1721119.0)
y (fix (/ (1- (* 4 j)) 146097.0))
j (- (* j 4.0) 1.0 (* 146097.0 y))
d (fix (/ j 4.0))
j (fix (/ (+ (* 4.0 d) 3.0) 1461.0))
d (- (+ (* 4.0 d) 3.0) (* 1461.0 j))
d (fix (/ (+ d 4.0) 4.0))
m (fix (/ (- (* 5.0 d) 3) 153.0))
d (- (* 5.0 d) 3.0 (* 153.0 m))
d (fix (/ (+ d 5.0) 5.0))
y (+ (* 100.0 y) j))
(if (< m 10.0)
(setq m (+ m 3))
(setq m (- m 9)
y (1+ y)))
(strcat (nth (1- (fix m))
(list "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12"))
"/"
(if (< D 10)
"0"
"")
(itoa (fix D))
"/"
(substr (itoa (fix Y)) 3 2)))
;;;
(defun ARCH:C_DATE-ISSUE (j / y d m)
(setq j (fix j)
j (- j 1721119.0)
y (fix (/ (1- (* 4 j)) 146097.0))
j (- (* j 4.0) 1.0 (* 146097.0 y))
d (fix (/ j 4.0))
j (fix (/ (+ (* 4.0 d) 3.0) 1461.0))
d (- (+ (* 4.0 d) 3.0) (* 1461.0 j))
d (fix (/ (+ d 4.0) 4.0))
m (fix (/ (- (* 5.0 d) 3) 153.0))
d (- (* 5.0 d) 3.0 (* 153.0 m))
d (fix (/ (+ d 5.0) 5.0))
y (+ (* 100.0 y) j))
(if (< m 10.0)
(setq m (+ m 3))
(setq m (- m 9)
y (1+ y)))
(strcat (if (< D 10)
"0"
"")
(itoa (fix D))
" "
(nth (1- (fix m))
(list "Jan" "Feb" "March" "April" "May" "June" "July" "Aug" "Sept" "Oct" "Nov"
"Dec"))
" "
(substr (itoa (fix Y)) 1 4)
;;3 2)
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ARCH:DATE_CREATED Function ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ARCH:DATE_CREATED ()
(prompt (strcat "\*** This Drawing Created on : "
(ARCH:C_DATE (getvar "TDUCREATE"))
" ***"))
(princ))
;;;
(defun ARCH:TDCREATE (/ date)
(setq date
(menucmd
(strcat
"M=$(edtime,$(getvar,tdcreate),MON\" \"DD\" \"YYYY HH\":\"MM\":\"SSam/pm)")))
(princ (strcat "\n*** Date Created : " date " ***"))
(princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq ARCH#YEAR (substr (rtos (getvar "CDATE") 2 16) 1 4))
(setq ARCH#DATE (ARCH:C_DATE-ISSUE (getvar "tdupdate")))
;;(setq ARCH#DATE (ARCH:C_DATE (getvar "tdupdate"))) ;old version
(defun ARCH:DATE (/ DATST MON DAY YEAR HRS)
(setq DATST (rtos (getvar "CDATE") 2 16)
MON (substr DATST 5 2)
DAY (substr DATST 7 2)
YEAR (substr DATST 1 4)
HRS (atoi (substr DATST 10 2)))
(cond ((= MON "01") (setq MON2 "January"))
((= MON "02") (setq MON2 "Feburary"))
((= MON "03") (setq MON2 "March"))
((= MON "04") (setq MON2 "April"))
((= MON "05") (setq MON2 "May"))
((= MON "06") (setq MON2 "June"))
((= MON "07") (setq MON2 "July"))
((= MON "08") (setq MON2 "August"))
((= MON "09") (setq MON2 "September"))
((= MON "10") (setq MON2 "October"))
((= MON "11") (setq MON2 "November"))
((= MON "12") (setq MON2 "December")))
(cond ((= HRS 00) (setq NHRS (itoa (+ HRS 12))) (setq XTR "a.m."))
((< HRS 12) (setq NHRS (itoa HRS)) (setq XTR "a.m."))
((= HRS 12) (setq NHRS (itoa HRS)) (setq XTR "p.m."))
((> HRS 12) (setq NHRS (itoa (- HRS 12))) (setq XTR "p.m.")))
(setq DATE-STRING
(strcat MON2 " " DAY ", " YEAR " " NHRS ":" (substr DATST 12 2) " " XTR))
;;;
(menucmd "M=$(edtime,$(getvar,date),MO/DD/YYYY HH:MM\t)
Gary