AutoLisp - получить универсальное время

84
13

Я новичок в Lisp. Мне нужно вызвать функцию datetime. Но я застрял на дате времени. Использование UTC.

Код

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

Ошибка:

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

Кто-нибудь может помочь? Я использую VisualLisp

спросил(а) 2017-03-24T12:26:00+03:00 3 года, 8 месяцев назад
1
Решение
101

Там системная переменная называется "CDATE", которая имеет как-то более четкий вывод, чем системная переменная DATE.

Он получает текущую дату и время на вашем компьютере.

Формат вывода "CDATE": "(4-значный год) (2-значный месяц) (2-значный день). (2-значный час) (2-значные минуты)", и его формат в десятичной форме, такой как 20170609.1410, для 2016/06/09 13:10

Таким образом, чтобы получить текущую дату в формате ГГГГ/ММ/ДД, ваша стратегия будет такой:

1- получить вывод и преобразовать его в строку

    (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- создайте формат YYYY/MM/DD

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

ответил(а) 2017-06-09T14:23:00+03:00 3 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема