Дата и время

Форма XLSForm может содержать вопросы date, time, и dateTime. Эти вопросы могут быть сформулированы таким образом, чтобы облегчить сбор данных с использованием оформления.

Вы можете форматировать значения дат и времени, используя функцию format-date в столбце вычисления вопросов date, time, или dateTime. Дополнительные сведения см. в разделе Форматирование даты.

Типы полей ArcGIS, которым Survey123 по умолчанию назначает вопрос Дата и Время, можно изменить, чтобы добавить типы Только дата, Только время или Сдвиг метки времени. Подробнее см. раздел Пользовательские столбцы Esri.

Внимание:

Ноябрьская версия Survey123 Connect 3.19 и более ранние версии не могут назначать поля типа Только дата, Только время и Сдвиг метки времени. Хотя в февральском обновлении Survey123 Connect 3.19 вы можете публиковать эти типы данных в ArcGIS Enterprise 11.2, они не поддерживаются полностью, и их использование в веб-слоях ArcGIS Enterprise 11.2 считается бета-функционалом.

В начальных и конечных вопросах автоматически фиксируются дата и время начала и окончания опроса, и их можно использовать для расчета времени, потраченного на прохождение опроса.

Оформление

Если задать для столбца оформление значение год, то вопрос дата будет представлен в виде кнопки только для года со стрелками для увеличения или уменьшения значения год.

Выбор года в полевом приложении

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

Выбор месяца и года в полевом приложении
Примечание:

Вариант оформления year и month-year появляется, когда в опрос загружаются значения текущего месяца и года. Однако на самом деле в опросе уже нет этих значений, и будет получено пустое значение, если не отредактировать его вручную, не применить вычисление или значение по умолчанию.

Если в столбце оформление задать номер недели, то вопрос дата по-прежнему будет представлен в виде календаря с возможностью выбора даты, а результат выбора будет отображаться как номер соответствующей недели в году в соответствии со стандартом ISO 8601. К примеру, если выберете 27 апреля 2016 г., в качестве результата будет отображаться неделя 17.

Порядковый номер недели в полевом приложении
Примечание:

Оформление week-number не поддерживается в веб-приложении Survey123.

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

Существует три формата даты и времени, которые вы можете использовать в Survey123: формат ISO 8601, время эпохи (Unix) и десятичное время.

В следующей таблице приведена краткая информация об этих форматах.

ИмяОписаниеПримеры

Формат ISO 8601

Строка, которая может включать смещение по UTC.

Этот формат удобен для значений по умолчанию и ограничений, поскольку он удобочитаем для человека.

2015-08-31T09:07:01Z

2015-08-31T09:07:01Z-07:00

Время Epoch (Unix)*

Целочисленное значение, представляющее количество секунд, прошедших с 00:00:00 по всемирному координированному времени (UTC) 1 января 1970 года.

Несмотря на преобразование в удобочитаемую дату или время при отображении в приложениях ArcGIS, время эпохи - это способ хранения данных в ArcGIS Online и ArcGIS Enterprise, а также информация, возвращаемая элементом объекта.

1441011600000

Десятичное время

Десятичное число, представляющее количество дней, прошедших с 00:00:00 по всемирному координированному времени (UTC) 1 января 1970 года.

При сложении или вычитании из значения даты необходимо использовать десятичное время.

16678.375

*Формат времени Epoch не поддерживается в веб-приложении Survey123.

Подсказка:

Чтобы обеспечить согласованную работу опросов во всех приложениях Survey123 для отправки, вы должны использовать формат ISO 8601 или десятичное время при вычислении даты и времени.

Вычисление времени эпохи и десятичного времени

В следующей таблице описывается, как время Epoch и десятичное время соотносится с форматом времени, удобном для человека:

Привычная запись времениЭпохальное времяДесятичное время

1 секунда

1000

0.00001157407407 (1 / 24 / 60 / 60)

1 минута

60,000 (1000 * 60)

0.00069444444444 (1 / 24 / 60)

1 час

3600000 (1000 * 60 * 60)

0.04166666666667 (1 / 24)

1 день

86400000 (1000 * 60 * 60 * 24)

1

1 неделя

604800000 (1000 * 60 * 60 * 24 * 7)

7

1 месяц

2630880000 (1000 * 60 * 60 * 24 * 30.45)

30.45

1 год

31557600000 (1000 * 60 * 60 * 24 * 365.25)

365.25

Если у вас есть опросы, при создании которых использовались вычисления времени на основе эпохи, время нужно преобразовать в десятичное, чтобы обеспечить корректную работу в веб-приложении Survey123. Ниже приведены примеры выражений, конвертированные из эпохального в десятичное время:

ЦельВычисление эпохального времениВычисление десятичного времени

15 минут в будущее

now() + 15 * 60 * 1000

date-time(decimal-date-time(now()) + 0.0104166675)

Две недели в будущее

now() + 14 * 24 * 60 * 60 * 1000

date(decimal-date-time(now()) + 14)

Время в минутах, затраченное на обед

int(${LunchEnd} - ${LunchStart}) div (1000 * 60)

int((decimal-date-time(${lunchends}) - decimal-date-time(${lunchstarts})) * 24 * 60)

Вычисление возраста по дате рождения (в годах)

int((today() - ${birth_date}) div (1000 * 24 * 60 * 60 * 365.25))

int((decimal-date-time(today()) - decimal-date-time(${birth_date})) div 365.25)

После того как вы поймете, какие изменения необходимы для вашего опроса, процесс обновления будет следующим:

  1. В Survey123 Studio или Survey123 Connect измените все вычисления времени на основе Epoch, чтобы использовались вычисления на основе десятичных значений дат. Рекомендуется сохранить архивную копию XLSForm перед редактированием.
  2. Протестируйте измененные вычисления, просмотрев их в Survey123 Studio или Survey123 Connect, и убедитесь, что они работают в соответствии с вашими ожиданиями.
  3. Заново опубликуйте опрос. Обновления вычислений не приводят к повторной публикации векторного слоя, поэтому имеющие данные не будут при этом потеряны.
  4. Предложите полевым пользователям обновить опрос в полевом приложении Survey123 Mobile или Survey123 или перезапустите его в веб-приложении Survey123.