Пакет mnas-string/print экспортирует следующие функции:
- date - вывод даты;
- date-time - вывод даты и времени;
- day-time - вывод времени;
- date-time-fname - вывод даты и времени для именования файла.
Все вышеперечисленые функций первым аргументом принимают:
- u-time - время, заданное в универсальном формате;
Кроме того, все они принимают ключевой аргумент stream:
- при stream=nil - вывод осуществляется в строку;
- при stream=t - вывод на стандартный вывод.
Остальными ключевыми параметрами этих фукций являются:
- year - позволяет выводить (при year=t) или не выводить (при year=nil) представление года;
- day - позволяет выводить (при day=t) или не выводить (при day=nil) число дня;
- ss - позволяет выводить (при ss=t) или не выводить (при ss=nil) представление секунд;
- month-language - задает язык для вывода месяца. Значением аргумента должна быть хеш-таблица. Ключи - порядковые номера месяцев от 1 до 12. Значения - строки с наименованиями месяцев.
Переменные
*default-month-language*
Описание: *default-month-language* язык по-умолчанию для наименования месяца.
Пример использования:
(gethash 1 *default-month-language*)
*mon-en*
Описание: хеш-таблица *mon-en* содержит названия месяцев на английском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
Пример использования:
(gethash 1 *mon-en*) => "January" ,T
(gethash 12 *mon-en*) => "December" ,T
*mon-ru*
Описание: хеш-таблица *mon-ru* содержит названия месяцев на русском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
Пример использования:
(gethash 1 *mon-ru*) => "Январь", T
(gethash 12 *mon-ru*) => "Декабрь", T
*mon-ua*
Описание: хеш-таблица *mon-ua* содержит названия месяцев на украинском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
Пример использования:
(gethash 1 *mon-ua*) => "Січень", T
(gethash 12 *mon-ua*) => "Грудень", T
Функции
date
(u-time &key (stream t) (year t) (day t) (month-language *default-month-language*))
Описание: функция date выводит в поток stream строковое представление даты.
Пример использования:
(date (get-universal-time) :stream nil) => "2019-12-04"
(date (get-universal-time) :stream nil :year nil :day nil) => "Январь"
date-time
(u-time &key (stream t) (year t) (ss t))
Описание: date-time выводит в поток stream строковое представление даты и времени.
Пример использования:
(date-time (get-universal-time)) ;-> 2021-03-06_21:17:11 => NIL
(date-time (get-universal-time) :year nil ) ;->03-06_21:18:57 => NIL
(date-time (get-universal-time) :year nil :ss nil) ;-> 03-06_21:19 => NIL
(date-time (get-universal-time) :ss nil) ;-> 2021-03-06_21:20 => NIL
date-time-fname
(u-time &key (stream t) (year t) (ss t))
Описание: функция date-time-fname выводит дату и время в пригодном для формирования имени файла формате.
Пример использования:
(let ((ut (get-universal-time)))
(date-time-fname ut :year t :ss t) ;-> 2021-03-06_23-03-11
(date-time-fname ut :year nil :ss t) ;-> 03-06_23-03-11
(date-time-fname ut :year t :ss nil) ;-> 2021-03-06_23-03
(date-time-fname ut :year nil :ss nil)) ;-> 03-06_23-03
=> NIL
day-time
(u-time &key (stream t) (ss t))
Описание: day-time выводит в поток stream строковое представление времени.
Пример использования:
(day-time (get-universal-time)) ;-> 23:06:15 =>NIL
(day-time (get-universal-time) :ss nil) ;-> 23:07 =>NIL