Применить к

Bridge by Smartsheet

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

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

Планы:

  • Bridge by Smartsheet

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

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

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

Объект


 

Свойство

Тип

Описание

years

Число

Четырёхзначное число, обозначающее год.

months

Число

Обозначает месяц. Январю соответствует значение 1.

date

Число

Обозначает день месяца.

hours

Число

Обозначает часы.

minutes

Число

Обозначает минуты.

seconds

Число

Обозначает секунды.

milliseconds

Число

Обозначает миллисекунды.

offset

Текстовая строка

Разница по отношению к часовому поясу UTC в формате ±ЧЧ:мм.

iso

Текстовая строка

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

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

utc

Текстовая строка

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

unix

Число

Число, представляющее временную метку UNIX.

isValid

Логическое значение

Логическое значение, показывающее, является ли дата/время действительной или нет.

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

Пример недействительного объекта даты/времени:

{

    "isValid": false

}

 

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

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

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

Пример объекта длительности

{

    "years": 2,

    "months": 2,

    "days": 2,

    "hours": 2,

    "minutes": 2,

    "seconds": 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

Число

Целое число, представляющее количество лет, прошедших между двумя датами.

months

Число

Целое число, представляющее количество месяцев (после вычисления количества лет между двумя датами).

days

Число

Целое число, представляющее количество дней (после вычисления количества месяцев и лет между двумя датами).

hours

Число

Целое число, представляющее количество часов (после вычисления количества дней, месяцев и лет между двумя датами).

minutes

Число

Целое число, представляющее количество минут (после вычисления количества часов, дней, месяцев и лет между двумя датами).

seconds

Число

Целое число, представляющее количество секунд (после вычисления количества минут, часов, дней, месяцев и лет между двумя датами).

milliseconds

Число

Целое число, представляющее количество миллисекунд (после вычисления количества секунд, минут, часов, дней, месяцев и лет между двумя датами).

iso

Текстовая строка

Длительность в формате стандарта ISO-8601.

humanized

Текстовая строка

Строка, представляющая время в человекочитаемом формате. Аналогична ответу модуля Format Date/Time (Формат даты/времени) с относительным форматированием. Например, "2 года".

isDuration

Логическое значение

Логическое значение, указывающее, является ли этот объект длительностью или нет. Оно будет истинно, если объект действителен.

isValid

Логическое значение

Логическое значение, показывающее, является ли дата/время действительной или нет.

in

Объект

Каждое значение в этом объекте аналогично свойству в этой таблице, но игнорирует все другие единицы времени. Пример: ровно 2 года между двумя датами — это 24 месяца.

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

Пример недействительного объекта длительности

{

    "isValid": false

}

 

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

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

 

Маркер

Вывод

Месяц

M

1 2 ... 11 12

 

Mo

1-й 2-й ... 11-й 12-й

 

ММ

01 02 ... 11 12

 

МММ

Янв Фев ... Ноя Дек

 

ММММ

Январь Февраль ... Ноябрь Декабрь

Квартал

Q

1 2 3 4

 

Qo

1-й 2-й 3-й 4-й

День месяца

D

1 2 ... 30 31

 

Do

1-е 2-е ... 30-е 31-е

 

DD

01 02 ... 30 31

День года

DDD

1 2 ... 364 365

 

DDDo

1-й 2-й ... 364-й 365-й

 

DDDD

001 002 ... 364 365

День недели

d

0 1 ... 5 6

 

do

0-й 1-й ... 5-й 6-й

 

dd

Вс Пн ... Пт Сб

 

ddd

Вос Пон ... Пят Суб

 

dddd

Воскресенье Понедельник ... Пятница Суббота

День недели (локальный формат)

e

0 1 ... 5 6

День недели (ISO)

E

1 2 ... 6 7

Неделя года

w

1 2 ... 52 53

 

wo

1-я 2-я ... 52-я 53-я

 

ww

01 02 ... 52 53

Неделя года (ISO)

W

1 2 ... 52 53

 

Wo

1-я 2-я ... 52-я 53-я

 

WW

01 02 ... 52 53

Год

YY

70 71 ... 29 30

 

YYYY

1970 1971 ... 2029 2030

 

Y

1970 1971 ... 9999 +10000 +10001

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

Неделя, год

gg

70 71 ... 29 30

 

gggg

1970 1971 ... 2029 2030

Неделя, год (ISO)

GG

70 71 ... 29 30

 

GGGG

1970 1971 ... 2029 2030

AM/PM

A

AM PM

 

а

am pm

Час

H

0 1 ... 22 23

 

HH

00 01 ... 22 23

 

h

1 2 ... 11 12

 

hh

01 02 ... 11 12

 

k

1 2 ... 23 24

 

kk

01 02 ... 23 24

Минута

m

0 1 ... 58 59

 

mm

00 01 ... 58 59

Секунда

s

0 1 ... 58 59

 

ss

00 01 ... 58 59

Дробная секунда

S

0 1 ... 8 9

 

SS

00 01 ... 98 99

 

SSS

000 001 ... 998 999

 

SSSS ... SSSSSSSSSSS

000[0..] 001[0..] ... 998[0..] 999[0..]

Часовой пояс

z или zz

EST CST ... MST PST

 

Z

-07:00 -06:00 ... +06:00 +07:00

 

ZZ

-0700 -0600 ... +0600 +0700

Временная метка Unix

X

1360013296

Временная метка UNIX в миллисекундах

x

1360013296123

 

Модуль 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 (Операция). Выберите действие: прибавление, вычитание или подстановка единиц времени.
    • Add (Прибавить). Прибавка единиц времени к входной дате.
    • Subtract (Вычесть). Вычитание единиц времени из входной даты.
    • Set (Подставить). Подстановка единиц времени во входную дату.
  • 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 (Длительность). Помимо добавления или вычитания единицы времени, можно также добавить или вычесть его длительность. Её можно представить в виде строки стандарта 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

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