我的代码有点问题。我想显示来自autocad格式的时间和日期。例如,autocad中的tdcreate命令显示2458753.59648148,但是此代码在输出文件中显示2019年9月26日14:18:55:999。我不知道哪里错了。我想出现2458753.59648148。
(progn
(foreach item
'(
("Current time:" "DATE" "DD MONTH YYYY HH:MM:SS:MSEC")
("Created:" "TDCREATE" "DD MONTH YYYY HH:MM:SS:MSEC")
("Last updated:" "TDUPDATE" "DD MONTH YYYY HH:MM:SS:MSEC")
("Total editing time:" "TDINDWG" "HH:MM:SS:MSEC")
("Elapsed timer:" "TDUSRTIMER" "HH:MM:SS:MSEC")
)
(write-line
(strcat
(PadRight (car item) " " 24)
(apply 'FormatDate (cdr item))
)
openfile
)
)
(close openfile)
(startapp "notepad" filename)
)
(princ (strcat "\nUnable to Write to " filename))
)
(princ)
)
(defun PadRight ( string char lengtth )
(if (< (strlen string) lengtth)
(PadRight (strcat string char) char lengtth)
string
)
)
(defun GetUniqueFilename ( seed / count file flist )
(if (findfile (setq file seed))
(progn
(setq count 1
flist (fnsplitl seed)
)
(while
(findfile
(setq file
(strcat
(car flist)
(cadr flist)
"(" (itoa (setq count (1+ count))) ")"
(caddr flist)
)
)
)
)
)
)
file
)
(defun FormatDate ( sysvar format )
(menucmd (strcat "m=$(edtime,$(getvar," sysvar ")," format ")"))
)
在AutoCAD中,TDCREATE
命令仅返回由TDCREATE
system variable保留的值,该值存储创建图形时的儒略日期时间值。
您从我的程序中发布的代码正在使用菜单命令表达式中的DIESEL TDCREATE
函数格式化该儒略日期时间值。
如果想要原始朱利安值,则可以简单地使用:
edtime
可以使用(getvar 'tdcreate)
将其格式化为字符串,即:
rtos