Data e Hora

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.

Tempo de época e tempo decimal

Há duas maneiras que você pode representar o tempo no Survey123 : tempo de época e tempo decimal. O aplicativo de campo Survey123 oferece suporte ao tempo de época e ao tempo decimal, enquanto o aplicativo da web oferece suporte apenas ao tempo decimal. Para garantir que as pesquisas funcionem de forma consistente no aplicativo de campo e no aplicativo da web, você deve usar a hora decimal nos cálculos de data e hora.

Tempo de época e tempo decimal são maneiras diferentes de representar o tempo. A hora da época (também conhecida como hora do UNIX) é definida como o número de segundos decorridos desde 00:00:00 do tempo universal coordenado (UTC) em 1º de janeiro de 1970. O ArcGIS armazena o tempo em milissegundos em UTC, portanto, o Survey123 field app suporta o tempo de época em milissegundos. O tempo decimal é definido como o número de dias decorridos desde o mesmo ponto.

Tempo legível ao humanoTempo de épocaTempo de decimal

Segunda-feira, 31 de agosto de 2015 09:00:00

1441011600000

16678.375

Isto é importante pois, embora o Survey123 field app suporte tempo de época e tempo decimal, o Survey123 web app suporta somente tempo decimal. Se sua pesquisa precisa funcionar na web (por si só ou junto com o aplicativo de campo), você deve calcular algumas datas usando o tempo decimal. Em particular, isto é necessário para calcular uma duração, por exemplo, calculando uma quantidade de dias ou segundos, ou aqueles que envolvem a adição ou subtração dos tempos de data.

Para esses tipos de cálculos, execute um cálculo em um valor de formato de data decimal, execute o cálculo e converta o resultado em um valor de data. Esta equação de amostra converte uma data decimal retornada da função now(), adiciona 14 dias a ela e converte o resultado novamente em uma data.

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

Você pode usar a data retornada por esta função para atualizar uma data em sua pesquisa ou enviá-la como parte de sua pesquisa.

Ao adicionar ou subtrair de um valor de data, você também deve usar dias decimais. Utilize a seguinte tabela como uma referência para saber como o tempo decimal equivale ao tempo legível aos humanos e ao tempo de época.

Tempo legível ao humanoTempo de épocaTempo 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

Alterar cálculos de época para cálculos de tempo decimais

Se você tiver pesquisas existentes que foram criadas usando cálculos de tempo baseados em época, você deve convertê-las em tempo decimal para funcionar corretamente no aplicativo da web Survey123. A seguir estão alguns exemplos de expressões convertidas de tempo de época para tempo decimal:

ObjetivoCálculo do tempo de épocaCá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:

  1. 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.
  2. Teste os cálculos atualizados na visualização do Survey123 Connect para garantir que eles funcionem como esperado.
  3. 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.
  4. Faça com que os usuários de campo atualizem a pesquisa no Survey123 field app.