Специальная обработка переменных даты и времени (DXF)

Системные переменные CDATE и DATE обеспечивают доступ к текущей дате и времени. Системные переменные TDCREATE, TDINDWG, TDUPDATE, и TDUSRTIMER (а также переменные заголовка DXF $TDCREATE, $TDUCREATE, $TDUPDATE и $TDUUPDATE) предоставляют доступ к времени и датам, связанным с текущим чертежом. Значения представлены в виде вещественных чисел со специальными значениями, как описано ниже.

Переменная DATE — текущая дата по юлианскому календарю и время дня в виде дроби (вещественные числа).

<дата по юлианскому календарю>.< время дня>

Например, 31 декабря 1999 года в 9:58:35 по Гринвичу переменная DATE содержала бы следующее значение:

2451544.91568287

Дата и время извлекаются из часов компьютера при считывании переменной. Время дня представлено в виде дроби. Значения времени, извлеченные из переменной DATE, можно отнимать друг от друга для вычисления различия во времени. Можно использовать выражения AutoLISP, чтобы определить число секунд, прошедших с полуночи до текущего момента, из значения переменной DATE.

(setq s (getvar "DATE"))
(setq seconds (* 86400.0 (- s (fix s))))

Обратите внимание, что переменная DATE возвращает правильную дату по юлианскому календарю только в том случае, если значение системного времени — UTC/Зулу (время по Гринвичу). TDCREATE и TDUPDATE имеют тот же формат, что и переменная DATE, но их значения представляют время создания и время последней модификации текущего чертежа.

В переменных TDINDWG и TDUSRTIMER (а также переменных заголовка DXF $TDINDWG и $TDUSRTIMER) используется такой же формат, как и в переменной DATE, но их значения представляют астрономическое время работы:

<количество дней>.< время дня>

Переменная CDATE содержит текущую дату и время в формате календаря и часов. Значение возвращается в виде вещественного числа в форме

ГГГММДД.ЧЧММССсдс

, где

ГГГГ = год

ММ = месяц (01–12)

ДД = день (01–31)

ЧЧ = часы (00–23)

ММ = минуты (00–59)

СС = секунды (00–59)

сдс = сотые доли секунды (00–99)

Например, если текущая дата — 31 декабря 2005 года, а время — 21:58:35.75, переменная CDATE вернет следующее значение:

20051231.21583575

Обратите внимание, что хотя более ранние и более поздние значения переменной CDATE можно сравнивать между собой, при вычитании таких значений получить поддающиеся интерпретации результаты невозможно.