2017-03-24 24 views
0

나는 Lisp에 익숙하다. datetime 함수를 호출해야합니다. 그러나 나는 데이트 시간을 얻는 것을 고집했다. UTC 사용.AutoLisp - get-universal-time

코드는

(defun C:test() 
    (system-clock nil (get-universal-time)) 
) 

오류입니다 :

Command: TEST 
; error: no function definition: GET-UNIVERSAL-TIME 

누구든지 도와 드릴까요? VisualLisp을 사용하고 있습니다.

+1

구성? 사용 가능한 기능을 나열해야합니다. –

+2

AutoLisp에는 날짜 조작 기능이 없습니다. [날짜 (시스템 변수)] (https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-CBB24068- 1653-4753-BE2E-1D0CE9700411-htm.html) 및 [스레드 : DD/MM/YY 형식으로 날짜를 얻는 방법?] (http://forums.augi.com/showthread.php?43041-How- DD-MM-YY 형식으로 날짜를 정하십시오). – crashmstr

+1

P. 'system-clock'도 없습니다. Autodesk 문서 이외의 다른 기능 (예 : 스키마 또는 공용 리스프 기반 라이브러리)을 찾을 수 없습니다. AutoLisp은 매우 차츰 차츰 줄어들고 AutoCAD 객체 작업에 중점을 둡니다. – crashmstr

답변

0

"DATE"시스템 변수보다 더 명확한 출력을 갖는 "CDATE"라는 시스템 변수가 있습니다.

컴퓨터에서 현재 날짜와 시간을 가져옵니다.

"CDATE"의 출력 형식은 "(4 digit digit) (2 digit digit) (2 digit digit). (2 digit hours) (2 digit digit minutes)"이고 10 진수 형식은 20170609.1410입니다.

1의 출력을 얻을 문자열

로 변환 -이 : 2016년 6월 9일 오후 1시 10분

정도, YYYY/MM/DD 형식으로 현재 날짜를 획득하는 전략은 다음과 같이 될 것입니다

(setq cur_date (rtos (getvar "CDATE"))) 

2 추출물 년, 월, 일

(setq cur_year (substr cur_date 1 4)) 
    (setq cur_month (substr cur_date 5 2)) 
    (setq cur_day (substr cur_date 7 2)) 

3 당신이 Visuallisp 설명서 마십시오 YYYY/MM/DD 형식

(setq cur_date (strcat cur_year "/" cur_month "/" cur_day)) 
+0

현재 날짜는'(menucmd "m = $ (edtime, 0, yyyy/mo/dd)")를 사용하면 더 쉽게 얻을 수 있습니다. –