Форма 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) и десятичное время.
В следующей таблице приведена краткая информация об этих форматах.
| Имя | Описание | Примеры |
|---|---|---|
Строка, которая может включать смещение по 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) |
После того как вы поймете, какие изменения необходимы для вашего опроса, процесс обновления будет следующим:
- В Survey123 Studio или Survey123 Connect измените все вычисления времени на основе Epoch, чтобы использовались вычисления на основе десятичных значений дат. Рекомендуется сохранить архивную копию XLSForm перед редактированием.
- Протестируйте измененные вычисления, просмотрев их в Survey123 Studio или Survey123 Connect, и убедитесь, что они работают в соответствии с вашими ожиданиями.
- Заново опубликуйте опрос. Обновления вычислений не приводят к повторной публикации векторного слоя, поэтому имеющие данные не будут при этом потеряны.
- Предложите полевым пользователям обновить опрос в полевом приложении Survey123 Mobile или Survey123 или перезапустите его в веб-приложении Survey123.