Specjalna obsługa zmiennych daty/godziny (DXF)

Zmienne systemowe CDATE i DATE zapewniają dostęp do bieżącej daty i godziny. Zmienne systemowe TDCREATE, TDINDWG, TDUPDATE i TDUSRTIMER (oraz zmienne nagłówka $TDCREATE, $TDUCREATE, $TDUPDATE i $TDUUPDATE DXF) zapewniają dostęp do dat i godzin skojarzonych z bieżącym rysunkiem. Wartości są reprezentowane jako liczby rzeczywiste i mają specjalne znaczenia, które opisano poniżej.

Zmienna DATE jest bieżącą datą i godziną reprezentowaną w formie daty według kalendarza juliańskiego i ułamka dnia w postaci liczby rzeczywistej.

<Data juliańska>.<Ułamek dnia>

Przykładowo w przypadku daty 31 grudnia 1999 i godziny 21:58:35 GMT wartość zmiennej DATE będzie zawierała

2451544.91568287

Przy odczycie zmiennej data i godzina są pobierane z zegara komputera. Godzina jest reprezentowana jako ułamek dnia, a godziny zwracane przez zmienną DATE mogą być w rzeczywistości odejmowane w celu obliczenia różnicy czasu. W celu wyodrębnienia liczby sekund od północy z wartości zwróconej przez zmienną DATE można wykorzystać wyrażenia języka AutoLISP

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

Należy zwrócić uwagę, że zmienna DATE zwraca prawdziwą datę juliańską tylko wtedy, gdy zegar systemowy jest ustawiony na wartość UTC/Zulu (czas Greenwich, GMT). Zmienne TDCREATE i TDUPDATE mają taki sam format jak DATE, ale ich wartości reprezentują czas utworzenia i ostatniej aktualizacji bieżącego rysunku.

W przypadku zmiennych TDINDWG i TDUSRTIMER (i zmiennych nagłówka $TDINDWG i $TDUSRTIMER w DXF), należy użyć podobnego formatu, jak w przypadku zmiennej DATE, ale ich wartości reprezentują czasy, jakie upłynęły, jak w

<Liczba dni>.<Ułamek dnia>

CDATE jest bieżącą datą i godziną w formacie kalendarza i zegara. Wartość ta jest zwracana jako liczba rzeczywista w postaci

RRRRMMDD.GGMMSSssek

gdzie

RRRR = rok

MM = miesiąc (01–12)

DD = dzień (01–31)

GG = godzina (00–23)

MM = minuty (00–59)

SS = sekundy (00–59)

ssek = setne sekundy (00–99)

Jeśli na przykład bieżąca data to 31 grudnia 2005, a godzina to 21:58:35.75, zmienna CDATE zwróci wartość:

20051231.21583575

Należy zwrócić uwagę, że wartości zmiennej CDATE można porównywać z wcześniejszymi lub późniejszymi wartościami, ale ich odejmowanie nie skutkuje uzyskaniem znaczących wartości.