К тексту на этой странице мог быть частично применён машинный перевод.

Справочное руководство по объектам "Дата/Время"

Доступно для:

Планы:

  • Bridge by Smartsheet

Объект "Дата/Время"

В этой статье описываются данные, возвращаемые большинством модулей типа "Дата/Время".

Эта структура в формате JSON состоит из свойств, представляющих отдельный момент времени. Ниже приведён пример такой структуры. Большинство свойств понятны без комментариев; пояснения приведены в таблице ниже.

Объект


 

СвойствоТипОписание
ГодыЧислоYear of the specified date.
monthsЧислоОбозначает месяц. Январю соответствует значение 1.
датаЧислоОбозначает день месяца.
чЧислоОбозначает часы.
minutesЧислоОбозначает минуты.
secondsЧислоОбозначает секунды.
millisecondsЧислоОбозначает миллисекунды.
offsetТекстовая строкаРазница по отношению к часовому поясу UTC в формате ±ЧЧ:мм.
isoТекстовая строка

Дата/время в формате стандарта ISO-8601.

Пример: ГГГГ-ММ-ДДТЧЧ:мм:ссZ

utcТекстовая строкаДата/время в часовом поясе UTC в формате стандарта ISO-8601.
unixЧислоUnix timestamp of the Date/Time.
isValidЛогическое значениеIndicates whether or not the date/time is valid.

Если обработка объекта "Дата/Время" заканчивается сбоем, возвращается недействительный объект "Дата/Время".

{

    "isValid": false

}

Объект длительности

В этой статье описываются данные, возвращаемые модулем Compare Date/Time (Сравнение даты/времени).

Эта структура в формате JSON состоит из свойств, представляющих отрезок между двумя моментами времени. Ниже приведён пример такой структуры. Большинство свойств понятны без комментариев; пояснения приведены в таблице ниже.

{

    "years": 2,

    "months": 2,

    "days": 2,

    "hours": 2,

Минуты

Секунды

    "milliseconds": 0,

    "iso": 'PT19058H2M2S',

    "humanized": '2 years',

    "isDuration": true,

    "isValid": true,

    "in": {

        "years": 2,

        "months": 26,

        "weeks": 113,

        "days": 794,

        "hours": 19058,

        "minutes": 1143482,

        "seconds": 68608922,

        "milliseconds": 68608922000

    }

}

СвойствоТипОписание
ГодыЧислоYears passed between the two dates.
monthsЧислоЦелое число, представляющее количество месяцев (после вычисления количества лет между двумя датами).
дн.ЧислоЦелое число, представляющее количество дней (после вычисления количества месяцев и лет между двумя датами).
чЧислоЦелое число, представляющее количество часов (после вычисления количества дней, месяцев и лет между двумя датами).
minutesЧислоЦелое число, представляющее количество минут (после вычисления количества часов, дней, месяцев и лет между двумя датами).
secondsЧислоЦелое число, представляющее количество миллисекунд (после вычисления количества секунд, минут, часов, дней, месяцев и лет между двумя датами).
millisecondsЧислоЦелое число, представляющее количество миллисекунд (после вычисления количества секунд, минут, часов, дней, месяцев и лет между двумя датами).
isoТекстовая строкаДлительность в формате стандарта ISO-8601.
humanizedТекстовая строкаHuman readable format for the time. Аналогична ответу модуля Format Date/Time (Формат даты/времени) с относительным форматированием. Например, "2 года".
isDurationЛогическое значениеЛогическое значение, указывающее, является ли этот объект длительностью или нет. Оно будет истинно, если объект действителен.
isValidЛогическое значениеIndicates whether or not the date/time is valid.
inОбъектКаждое значение в этом объекте аналогично свойству в этой таблице, но игнорирует все другие единицы времени. Пример: ровно 2 года между двумя датами — это 24 месяца.

Если обработка объекта "Дата/Время" заканчивается сбоем (например, не удаётся обработать вводные данные), возвращается недействительный объект "Дата/Время". Это выглядит следующим образом:

{

    "isValid": false

}

 

Маркеры формата даты/времени

Маркеры формата даты/времени могут использоваться для представления определённого фрагмента даты в текстовой строке. Строка, содержащая эти маркеры, может содержать и другие символы. Например, "11 марта 1952 года" может быть представлена как "Д-е ММММ ГГГГ года".

 МаркерВывод
МесяцM1 2 ... 11 12
Mo1-й 2-й ... 11-й 12-й
ММ01 02 ... 11 12
МММЯнв Фев ... Ноя Дек
ММММЯнварь Февраль ... Ноябрь Декабрь
КварталQ1 2 3 4
Qo1-й 2-й 3-й 4-й
День месяцаD1 2 ... 30 31
Do1-е 2-е ... 30-е 31-е
DD01 02 ... 30 31
День годаDDD1 2 ... 364 365
DDDo1-й 2-й ... 364-й 365-й
DDDD001 002 ... 364 365
День неделиd0 1 ... 5 6
do0-й 1-й ... 5-й 6-й
ddВс Пн ... Пт Сб
dddВос Пон ... Пят Суб
ddddВоскресенье Понедельник ... Пятница Суббота
День недели (локальный формат)e0 1 ... 5 6
День недели (ISO)E1 2 ... 6 7
Неделя годаw1 2 ... 52 53
wo1-я 2-я ... 52-я 53-я
ww01 02 ... 52 53
Неделя года (ISO)W1 2 ... 52 53
Wo1-я 2-я ... 52-я 53-я
WW01 02 ... 52 53
ГодYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
Y

1970 1971 ... 9999 +10000 +10001

Примечание. Это соответствует стандарту ISO 8601 для дат после 9999 года.

Неделя, годgg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Неделя, год (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
аam pm
ЧасH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Минутаm0 1 ... 58 59
ММ00 01 ... 58 59
Секундаs0 1 ... 58 59
SS00 01 ... 58 59
Дробная секундаS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS ... SSSSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Часовой поясz или zzEST CST ... MST PST
Z-07:00 -06:00 ... +06:00 +07:00
ZZ-0700 -0600 ... +0600 +0700
Временная метка UnixX1360013296
Временная метка UNIX в миллисекундахx1360013296123

Модуль Check Date/Time (Проверка даты/времени)

Модуль Check Date/Time проверяет вводимую дату на соответствие заданным условиям и соответствующим образом направляет рабочий процесс.

Самый простой способ использовать его — сослаться на весь объект типа "Дата/время".

Модуль Check Date/Time (Проверка даты/времени)

Поля модуля Check Date/Time

  • Date (Дата). Требуемый входной параметр, по которому будет производиться проверка. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Condition (Условие). Укажите условную операцию для проверки введённой даты. Используйте указанные ниже параметры.
    • Day of Week (День недели). Направляет рабочий процесс по пути "Успешно", если дата совпадает с одним из выбранных дней.
    • Is Before another Date (До другой даты). Направляет рабочий процесс по пути "Успешно", если дата предшествует указанной контрольной дате или совпадает с ней.
    • Is After another Date (После другой даты). Направляет рабочий процесс по пути "Успешно", если дата идёт за указанной контрольной датой или совпадает с ней.
    • Is Between two Dates (Между двумя датами). Направляет рабочий процесс по пути "Успешно", если дата располагается между двумя указанными контрольными датами или совпадает с одной из них.
    • Is a Leap Year (Является ли год високосным). Направляет рабочий процесс по пути "Успешно", если дата является високосным годом. Если дата не относится к високосному году или не содержит года, например, если был введён только месяц или ссылка на него, рабочий процесс будет направлен по пути "Сбой".

Контрольные даты

Эти данные требуются, если вы хотите проверить, находится ли дата до/после другой даты или между несколькими контрольными датами. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.

Включение контрольных дат

При использовании контрольных дат они по умолчанию исключаются из диапазона допустимых значений (например, "ранее, но не равно"). Если этот параметр будет иметь значение true, контрольные даты будут входить в диапазон допустимых значений (например, "ранее или равно").

Модуль Compare Date/Time (Сравнение даты/времени)

Модуль Compare Date/Time сравнивает два объекта даты/времени, возвращая абсолютную разницу между ними.

Модуль Compare Date/Time (Сравнение даты/времени)

Поля модуля Compare Date/Time

  • First Date (Первая дата). Требуемая вводная дата для сравнения. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Second Date (Вторая дата). Требуемая вводная дата, с которой будет выполняться сравнение. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Include End Date (Включить конечную дату). Если этот пункт выбран, вторая дата ввода будет включена в расчёт. Пример: длительность "С понедельника по пятницу" будет рассчитана как 5 дней.

Возвращаемые данные модуля Compare Date/Time

Если модуль будет обработан успешно, он вернёт структурированный объект длительности.

Модуль Current Date/Time (Текущая дата/время)

Модуль Current Date/Time возвращает текущий момент времени в виде структурированного объекта даты/времени, с которым можно произвести различные действия, в т. ч. форматировать его.

Модуль Current Date/Time (Текущая дата/время)

Поля модуля Current Date/Time

  • Offset (Смещение). Смещение входных данных по отношению к часовому поясу UTC. Можно установить почасовое смещение от -12:00 до +12:00 часов, а можно получить больший контроль над смещением относительно пояса UTC с помощью следующих опций.
    • None (Нет). Входные данные будут обработаны "как есть". Если в строке ввода не определено смещение, то оно не будет применено. Если вы обрабатываете строку, содержащую смещение (например, строку формата ISO-8601), то смещение будет установлено на то же значение, что и смещение строки. Например, 2017-07-02T21:30:00-07:00 будет иметь смещение на -07:00 часов.
    • Timezone Offset (Смещение в формате часового пояса). Выберите часовой пояс для расчёта смещения относительно UTC. При этом учитывается переход на летнее время, который может происходить в определённых часовых поясах.
    • Lat/Long Offset (Смещение по широте/долготе). Укажите местоположение в формате широты и долготы, разделённых запятой (,). При этом будет учитываться переход на летнее время. Например, 47.650499,-122.350070 — это Америка/Лос-Анджелес; смещение будет равно-08:00 зимой и -07:00 летом.
    • Custom Offset (Пользовательское смещение). Задайте собственное значение смещения в формате ±ЧЧ:мм. Пример: Плюс восемь с половиной часов: +08:30

Возвращаемые данные модуля Current Date/Time

Если входная строка обработана успешно, модуль возвращает структурированный объект даты/времени.

Модуль Format Date/Time (Форматирование даты/времени)

Модуль Format Date/Time форматирует структурированный объект даты/времени в виде любой строки, заданной пользователем.

Форматирование даты/времени

Поля модуля Format Date/Time

  • Date (Дата). Требуемые входные данные, которые нужно отформатировать в виде строки. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Format (Формат). Формат возвращаемых данных. Выберите один из типовых вариантов, используйте маркеры даты/времени для создания собственного формата или укажите другой объект даты/времени для относительного форматирования.

Возвращаемые данные модуля Format Date/Time

Будут показаны следующие форматы для даты "11 марта 1952 года в 8:15 утра".

ISO 8601

Стандартный формат ISO-8601 (YYYY-MM-DDTHH:mm:ssZ): 1952-03-11T08:15:00+00:00

YYYY-MM-DD

1952-03-11

MM/DD/YYYY

03/11/1952

DD/MM/YYYY

11/03/1952

MM/DD

03/11

DD/MM

11/03

HH:mm

08:15

HH:mm:ss

08:15:00

Индивидуальный формат

Используйте маркеры формата даты/времени для создания пользовательской строки формата. Также допускаются символы, не являющиеся маркерами. Do MMMM YYYY — 11-е марта 1952

Относительный формат

Укажите другой объект даты/времени для относительного форматирования входных данных. Единица времени округляется до наибольшей единицы. Пример. Введите строку даты/времени в формате ISO-8601 "1952-03-13T09:15:00+00:00", и в результате вы получите "2 дня назад" вместо "2 дня и 23 часа назад". Это простой способ получить дату и время в человекочитаемом формате; если вам нужна большая детализация, см. раздел, посвящённый модулю Compare Date/Time и возвращаемому объекту длительности.

Модуль Manipulate Date/Time (Действия с датой/временем)

Модуль Manipulate Date/Time позволяет выполнять действия со структурированным объектом даты/времени, добавляя, вычитая или подставляя единицы времени.

Модуль Manipulate Date/Time (Действия с датой/временем)

Поля модуля Manipulate Date/Time

  • Operation (Операция). Выберите действие: прибавление, вычитание или подстановка единиц времени.
  • Date (Дата). Требуемые входные данные, с которыми будут совершаться действия. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Years (Годы). Количество лет, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается год (например, 1952).
  • Months (Месяцы). Количество месяцев, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается месяц (1–12).
  • Days (Дни). Количество дней, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается число месяца.
  • Hours (Часы). Количество часов, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается час (0–23).
  • Minutes (Минуты). Количество минут, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается число секунд (0–59).
  • Seconds (Секунды). Количество секунд, которое нужно прибавить или отнять от вводимой даты. Если используется операция Set, то устанавливается число секунд (0–59).
  • Duration: Add or subtract a duration. Её можно представить в виде строки стандарта ISO-8601 или объекта длительности, возвращённого модулем сравнения даты/времени.

Возвращаемые данные модуля Manipulate Date/Time

Если входная строка обработана успешно, модуль возвращает структурированный объект даты/времени.

Модуль Parse Date/Time (Обработать значение даты/времени)

Модуль Parse Date/Time обрабатывает дату, чтобы получить структурированный объект даты/времени, с которым можно произвести различные действия, в т. ч. форматировать его.

Наряду с человекочитаемыми датами, этот модуль может обрабатывать строки в формате ISO-8601, RFC 2822, временные метки Unix или выходные данные другого модуля Parse Date/Time. Если входные данные недействительны, то будет возвращён объект Invalid Date/Time.

Модуль Parse Date/Time (Обработать значение даты/времени)

Поля модуля Parse Date/Time

  • Date (Дата). Требуемые вводные данные, которые должны быть преобразованы в структурированный объект даты/времени. В качестве входных данных может использоваться любая человекочитаемая строка, дата в формате ISO-8601 или RFC 2822, временная метка Unix или выходные данные другого модуля Parse Date/Time.
  • Locale (Местоположение). Необязательные входные данные. Указывают формат даты/времени, используемый в стране или регионе. Используется для различения схожих форматов. Например, дата 5 апреля 2017 года может быть представлена как "04/05/2017" в США и как "05/04/2017" в Великобритании. Даты в таком формате нетрудно спутать, поэтому рекомендуется указывать требуемое местоположение. По умолчанию используется американский формат (en).
  • UTC Offset (Смещение относительно UTC). Смещение входных данных по отношению к часовому поясу UTC. Можно установить почасовое смещение от -12:00 до +12:00 часов, а можно получить больший контроль над смещением относительно пояса UTC с помощью следующих опций.
    • None (Нет). Входные данные будут обработаны "как есть". Если в строке ввода не определено смещение, то оно не будет применено. Если вы обрабатываете строку, содержащую смещение (например, строку формата ISO-8601), то смещение будет установлено на то же значение, что и смещение строки. Например, 2017-07-02T21:30:00-07:00 будет иметь смещение на -07:00 часов.
    • Timezone Offset (Смещение в формате часового пояса). Выберите часовой пояс для расчёта смещения относительно UTC. При этом учитывается переход на летнее время, который может происходить в определённых часовых поясах.
    • Lat/Long Offset (Смещение по широте/долготе). Укажите местоположение в формате широты и долготы, разделённых запятой (,). При этом будет учитываться переход на летнее время. Например, 47.650499,-122.350070 — это Америка/Лос-Анджелес; смещение будет равно-08:00 зимой и -07:00 летом.
    • Custom Offset (Пользовательское смещение). Задайте собственное значение смещения в формате ±ЧЧ:мм. Пример: Плюс восемь с половиной часов: +08:30

Возвращаемые данные модуля Parse Date/Time

Если входная строка обработана успешно, модуль возвращает структурированный объект даты/времени.

Модуль Round Date/Time (Округление даты/времени)

Модуль Round Date/Time возвращает начало или конец указанной единицы времени структурированного объекта даты/времени.

Модуль Round Date/Time (Округление даты/времени)

Поля модуля Round Date/Time

  • Start/End (Начало/окончание). Округляет входные данные до начала или конца указанного отрезка времени.
    • Start (Начало). Округлить до начала отрезка времени. Например, "8:15" превратится в "8:00".
    • End (Окончание). Округлить до окончания отрезка времени. Например, "8:15" превратится в "8:59".
  • Date (Дата). Требуемое входное значение, которое будет округлено в большую или меньшую сторону на указанную единицу времени. В качестве входных данных может использоваться строка формата ISO-8601, временная метка Unix или структурированный объект даты/времени, выводимый другим модулем даты/времени.
  • Unit of Time (Единица времени). Отрезок времени, который будет округляться в большую или меньшую сторону. Используйте указанные ниже параметры.
    • Year (Год)
    • Quarter (Квартал)
    • Month (Месяц)
    • Week (Неделя)
    • Day (День)
    • Hour (Час)
    • Minute (Минута)

First Day of Week (Первый день недели)

В разных странах начало недели отсчитывается по-разному. Если в качестве единицы времени выбрана неделя, этот параметр позволяет установить, какой день считается началом недели.

Возвращаемые данные модуля Round Date/Time

Если входная строка обработана успешно, модуль возвращает структурированный объект даты/времени.