Um XLSForm pode conter perguntas de data, hora ou dateTime. Essas perguntas podem ser estilizadas para auxiliar na captura de dados usando aparências.
Você pode formatar datas e horas usando a função format-date na coluna de cálculo de data, hora ou perguntas dateTime. Para mais informações, consulte Formatação de data.
Os tipos de campo do ArcGIS aos quais as perguntas de data e hora são atribuídas no Survey123 por padrão, podem ser alterados para capturar somente data, somente hora ou deslocamento do carimbo de data/hora. Para saber mais, consulte Colunas personalizadas da Esri.
Aviso:
A versão de Novembro e anteriores doSurvey123 Connect 3.19 não podem atribuir tipos de campo somente data, somente hora ou deslocamento do carimbo de data/hora. Embora a Atualização de Fevereiro do Survey123 Connect 3.19 possa publicar esses tipos de dados no ArcGIS Enterprise 11.2, eles não são totalmente suportados e seu uso nas camadas da web do ArcGIS Enterprise 11.2 é considerado uma funcionalidade beta.
As perguntas inicial e final capturam automaticamente a data e hora inicial e final da pesquisa e podem ser usadas para calcular o tempo necessário para concluir uma pesquisa.
Formatos de data e hora
Existem três formatos de data e hora que você pode usar no Survey123: Formato ISO 8601, hora da época (Unix) e hora decimal.
A tabela a seguir resume esses formatos.
Nome | Descrição | Exemplos |
---|---|---|
String que pode incluir deslocamento UTC. Este formato é suportado tanto pelo aplicativo de campo Survey123 quanto pelo aplicativo web. Este formato é útil para padrões e restrições porque é legível por humanos. | 2015-08-31T09:07:01Z 2015-08-31T09:07:01Z-07:00 | |
Hora da Época (Unix) | Número inteiro que representa o número de milissegundos decorridos desde 00:00:00 Tempo Universal Coordenado (UTC) em 1º de janeiro de 1970. Este formato não é suportado no aplicativo da web Survey123. Embora convertido para uma data ou hora legível quando exibido em aplicativos ArcGIS, o Tempo de época é como os dados são armazenados no ArcGIS Online e ArcGIS Enterprise e é o que é retornado pelo objeto de feição. | 1441011600000 |
Tempo de decimal | Número decimal que representa o número de dias decorridos desde 00:00:00 Tempo Universal Coordenado (UTC) em 1º de janeiro de 1970. Esse formato é compatível com o aplicativo de campo e o aplicativo web Survey123. Ao adicionar ou subtrair um valor de data, você deve usar o tempo decimal. | 16678.375 |
Dica:
Para garantir que as pesquisas funcionem de forma consistente tanto no aplicativo de campo quanto no aplicativo web, você deve usar o formato ISO 8601 ou a hora decimal nos cálculos de data e hora.
Cálculos de tempo de época e tempo decimal
A tabela a seguir descreve como a época e o tempo decimal equivalem ao tempo legível por humanos.
Tempo legível ao humano | Tempo de época | Tempo de decimal |
---|---|---|
1 segundo | 1000 | 0.00001157407407 (1 / 24 / 60 / 60) |
1 minuto | 60,000 (1000 * 60) | 0.00069444444444 (1 / 24 / 60) |
1 hora | 3600000 (1000 * 60 * 60) | 0.04166666666667 (1 / 24) |
1 dia | 86400000 (1000 * 60 * 60 * 24) | 1 |
1 semana | 604800000 (1000 * 60 * 60 * 24 * 7) | 7 |
1 mês | 2630880000 (1000 * 60 * 60 * 24 * 30.45) | 30.45 |
1 ano | 31557600000 (1000 * 60 * 60 * 24 * 365.25) | 365.25 |
Se você tiver pesquisas criadas usando cálculos de tempo baseados em época, deverá convertê-las em tempo decimal para se comportarem corretamente no aplicativo web Survey123. A seguir estão exemplos de expressões convertidas de Época para hora decimal:
Objetivo | Cálculo do tempo de época | Cálculo do tempo decimal |
---|---|---|
15 minutos no futuro | now() + 15 * 60 * 1000 | date-time(decimal-date-time(now()) + 0.0104166675) |
Duas semanas no futuro | now() + 14 * 24 * 60 * 60 * 1000 | date(decimal-date-time(now()) + 14) |
Tempo gasto para almoçar em minutos | int(${LunchEnd} - ${LunchStart}) div (1000 * 60) | int((decimal-date-time(${lunchends}) - decimal-date-time(${lunchstarts})) * 24 * 60) |
Calcular idade a partir de um aniversário (em anos) | int((today() - ${birth_date}) div (1000 * 24 * 60 * 60 * 365.25)) | int((decimal-date-time(today()) - decimal-date-time(${birth_date})) div 365.25) |
Após você ter uma compreensão das alterações necessárias para sua pesquisa, o processo de atualização é o seguinte:
- No Survey123 Connect, atualize quaisquer cálculos de tempo baseados em época para usar data e hora decimal. É recomendado que você salve um backup do XLSForm antes de continuar.
- Teste os cálculos atualizados na visualização do Survey123 Connect para garantir que eles funcionem como esperado.
- Republique a pesquisa. As atualizações para os cálculos não provocam uma republicação da camada de feição, portanto, nenhum dado existente será perdido ao fazer isto.
- Faça com que os usuários de campo atualizem a pesquisa no Survey123 field app.