Tratamento especial de datas/Variáveis de hora (DXF)

As variáveis CDATE e DATE do sistema fornecem acesso à data e hora atuais. As variáveis TDCREATE, TDINDWG, TDUPDATE e TDUSRTIMER do sistema (e as variáveis $TDCREATE, $TDUCREATE, $TDUPDATE e $TDUUPDATE DXF do cabeçalho) fornecem acesso às horas e datas associadas ao desenho atual. Os valores são representados em números reais com significado especial, como descrito abaixo.

DATE é a data e hora atual representada como uma data do calendário Juliano e a fração de um dia em um número real.

<Julian date>.<Fraction of day>

Por exemplo, no dia 31 de dezembro de 1999, em 9:58:35 p.m GMT, a variável DATE contém

2451544.91568287

A data e a hora são obtidas a partir de um relógio de computador quando a variável é lida. A hora é representada como uma fração de um dia, e as horas retornadas pelo DATE podem ser realmente subtraídos para calcular diferenças na hora. Para extrair os segundos desde a meia-noite a partir do valor retornado por DATE, utilize expressões do AutoLISP

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

Observe que DATE somente retornará uma data do calendário Juliano verdadeira se o relógio do sistema estiver definido como UTC/Zulu (Tempo Médio de Greenwich). TDCREATE e TDUPDATE têm o mesmo formato que DATE, mas seus valores representam o horário da criação e da última atualização do desenho atual.

TDINDWG e TDUSRTIMER (e as variáveis $TDINDWG e $TDUSRTIMER do cabeçalho DXF) utilizam um formato similar ao do DATE, mas seus valores representam horas decorridas, como em

<Number of days>.<Fraction of day>

CDATE é a data e hora atual no formato de relógio e de calendário. O valor é retornado como um número real no formato

YYYYMMDD.HHMMSShsec

onde

AAAA = ano

MM = mês (01-12)

DD = dia (01-31)

HH = hora (00-23)

MM = minuto (00-59)

SS = segundo (00-59)

hsec = centenas de um segundo (00-99)

Por exemplo, se a data atual for 31 de dezembro de 2005 e o hora 9:58:35.75 p.m, o CDATE irá retornar o valor:

20051231.21583575

Observe que os valores de CDATE podem ser comparados a valores posteriores e anteriores, mas que subtraindo-os produz números que não são significativos.