Руководтсво администратора/разработчика
Документация
Функции
Дата, время
Функции по работе с датой и временем
timefresh
Триггер актуального времени
Фунция timefresh показывает - переданная дата до текущего времени?
Входные данные - любое значение в формате UTC
Выходные данные - "true" или "false" текстовое значение
Пример:
{{ $flag := timefresh "2006-01-02 15:04:05 +0000 UTC"}}
"true" - переданная дата "свежая", т.е. еще не наступила
"false" - переданная дата уже прошла.
timetostring
Переводит дату в строковый формат
Фунция timetostring преобразует дату в строковый формат.
Формат
timetostring time format
- time - дата
- format - шаблон преобразования даты в строку
Выходные данные - дата в строковом формате
Пример:
{{timetostring timenow "02.01.2006"}}
> 14.03.2020
timenow
Текущее время
Функция timenow возвращает текущую дату/время в формате времени UTC ().
Формат
timenow
Пример
{{ timenow }}
>> 2006-02-01 15:04:05 +0000 UTC
timeformat
Дата в заданном формате
Функция timeformat возвращает строковое значение в заданном формате. В случае невозможного преобразования возвращает текстовое значение ошибки. Возвращаемый тип - строка
Формат
timeformat input mask format
input - преобразуемая строка (любой тип)
mask - текстовое значение формата преобразуемой строки (см. timeparse)
format - текстовое значение формата даты, в которую преобразуем строку
Пример
{{ timeformat "2016-01-02 23:14:50 +0000" "2006-01-02 15:04:05 +0000" "2006.01.02" }} >> 2016.01.02
timeyear
Возвращает текущий год
Функция timeyear возвращает год переданного времени (в формате времени).
Формат
timeyear time
time - значение, преобразованное в формат времени (как правило возращаемое фукнцией timeparse или timenow)
Пример
{{ timeyear timenow }}
>> 2019
timemount
Возвращаем месяц
Функция timemount возвращает месяц переданного времени (в формате времени).
Формат
timemount time
time - значение, преобразованное в формат времени (как правило возращаемое фукнцией timeparse или timenow)
Пример
{{ timemount timenow }}
>> November
timeday
Возвращает дату
Функция timeday возвращает число переданного времени (в формате времени).
Формат
timeday time
time - значение, преобразованное в формат времени (как правило возращаемое фукнцией timeparse или timenow)
Пример
{{ timeday timenow }}
>> 12
timeparse
Преобразование в формат даты
Функция timeparse возвращает значение в формате даты, преобразованное из строкового значения. Возвращаемый тип - дата
Формат
timeparse input mask
input - преобразуемая строка (любой тип)
mask - текстовое значение формата преобразования
Описание параметра format
Для преобразование необходимо составить формат передаваемого значения даты использую таблицу:
stdLongMonth = "January"
stdMonth = "Jan"
stdNumMonth = "1"
stdZeroMonth = "01"
stdLongWeekDay = "Monday"
stdWeekDay = "Mon"
stdDay = "2"
stdUnderDay = "_2"
stdZeroDay = "02"
stdHour = "15"
stdHour12 = "3"
stdZeroHour12 = "03"
stdMinute = "4"
stdZeroMinute = "04"
stdSecond = "5"
stdZeroSecond = "05"
stdLongYear = "2006"
stdYear = "06"
stdPM = "PM"
stdpm = "pm"
stdTZ = "MST"
stdISO8601TZ = "Z0700" // prints Z for UTC
stdISO8601ColonTZ = "Z07:00" // prints Z for UTC
stdNumTZ = "-0700" // always numeric
stdNumShortTZ = "-07" // always numeric
stdNumColonTZ = "-07:00" // always numeric
Например:
"2006-02-01 15:04:05", где
2006 - показывает, что певым значенмем будет передан;
02 - через тире (-) месяц
01 - через тире (-) день
потом пробел
15 - часы в формате 24-часа
04 - минуты
05 - секунды
Таким образом, заданный формат преобразует переданное строковое значение в объект даты, иначе выдаст ошибку преобразования с описанием ошибки.
или использовать заданные варианты шаблонов:
UTC = "2006-02-01 15:04:05 -0700 UTC" // по-умолчанию при создании текущей даты
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Метки времени
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
Например
"RFC3339"
В этом случае, к преобразуемой строке будет применен формат шаблона RFC3339, а именно "2006-01-02T15:04:05Z07:00". Данный способ удобен, если мы знаем, что данные приходят (например из базы данных) в формате RFC3339.
Пример
{{ timeparse "2016-01-02 19:23:23" "2006-01-02 15:04:05" }} >> 2016-01-02 19:23:23 +0000 UTC