시간과 관련된 시스템변수는 다음과 같습니다.

 

 

 구분  변수  반환값  비고  (rtos 변수 2 10)
 현재시간  (getvar 'DATE)  2.45773e+06  줄리안  "2457727.721527778"
 파일 생성시간  (getvar 'TDCREATE)  2.45772e+06  줄리안  "2457721.034143519"
 파일 최종 저장시간  (getvar 'TDUPDATE)  2.45773e+06  줄리안  "2457727.656655093"
 현재시간  (getvar 'CDATE)  2.01612e+07  년월일.시간  "20161204.17192200"

 

(getvar 'CDATE) 의 결과는 우리가 잘 아는 "년월일.시간분초"입니다. 즉, 2016년 12월 4일 17시 19분 22.00초 입니다.

그러나, 위의 세가지의 사간은 "수정 율리우스력 날짜(MJD) 형식"으로 표시됩니다. (줄리안시간이라고 합니다.)

이 형식은  "<율리우스력 일 수>.<하루에 대한 십진 분수>" 로써, 기원전 4713년 1월 1일 정오를 기준 날짜로 시작하여 경과 일 수를 지정하는 전세계적 과학 표준입니다. (주로 천문학에서 사용된다고 합니다.)

 

이 어렵게 생긴 줄리안시간을 우리가 알 수 있는 년월일시간으로 변경하는 방법은 다음과 같습니다.

 

;;; ------------------------

;;; 줄리안시간을 일반 년월일시간으로 변경

;;; izzarder.com

(defun xi:Julian->Time (value format)    (menucmd (strcat "m=$(edtime,$(getvar," value ")," format ")")) ) 

 

이를 이용해서 (gatvar 'DATE) 를 줄리안으로 변경하면 다음과 같습니다.

(xi:Julian->Time "DATE" "YYYY MO DD HH MM") => "2016 12 04 17 34" 

 

이 때 사용되는 포맷의 영문자 조합의 의미는 아래와 같습니다.

 

 구분  내용  결과
 D  일  4
 DD  0으로 시작하는 일  04
 DDD  영문요일 짧게  Mon
 DDDD  영문요일 전체  Monday
 M  월  6
 MO  0으로 시작하는 월  06
 MON  영문월 짧게  Jun
 MONTH  영문월 전체  June
 YY  두자리 년도  16
 YYYY  네자리 년도  2016
 H  시간  7
 HH  0으로 시작하는 시간  07
 MM  분  30
 SS  초  25
 MSEC  밀리초  250
 AM/PM  대문자 오전 또는 오후  AM
 am/pm  소문자 오전 또는 오후  am
 A/P  대문자 오전 또는 오후 짧게  A
 a/p  소문자 오전 또는 오후 짧게  a

 

 

다른 방법이 하나 더 있긴 합니다만, AutoCAD 에서만 사용할 수 있습니다.

 

Command: (load "julian")

Command: (jtoc (getvar 'tdcreate))  => (1996 9 30 21 22 38.74)

Command: (jtoc (getvar 'tdupdate))  =>  (2003 2 11 8 33 30.682)

 

반환되는 숫자리스트는 (년, 월, 일, 시, 분, 초) 입니다.