Fecha y hora

El formulario XLSForm puede contener preguntas de fecha, hora o dateTime. Estas preguntas pueden diseñarse para facilitar la captura de datos mediante el uso de apariencias.

Puede formatear fechas y horas con la función format-date de la columna de cálculo de preguntas de fecha, hora o datTime. Para obtener más información, consulte Formato de fecha.

Los tipos de campo de ArcGIS a los que Survey123 asigna preguntas de fecha y hora de forma predeterminada pueden cambiarse para capturar solamente la fecha, solo la hora o el desfase de marca de hora. Para obtener más información, consulte Columnas personalizadas de Esri.

Precaución:

En la versión de noviembre de Survey123 Connect 3.19 y anteriores no se puede asignar tipos de campo de solo de fecha, solo de hora o desfase de marca de hora. Aunque es posible publicar esos tipos de datos en la actualización de febrero de Survey123 Connect 3.19 a ArcGIS Enterprise 11.2, no son totalmente compatibles y su uso en las capas web de ArcGIS Enterprise 11.2 se considera funcionalidad en versión beta.

Las preguntas inicial y final capturan la fecha y la hora de inicio y finalización de la encuesta de forma automática y pueden utilizarse para calcular el tiempo que se tarda en completar una encuesta.

Tiempo Epoch y tiempo decimal

Hay dos formas de representar el tiempo en Survey123: tiempo de formato Epoch y tiempo decimal. La aplicación de campo Survey123 es compatible tanto con el tiempo Epoch como con el tiempo decimal, mientras que la aplicación web solo es compatible con el tiempo decimal. Para asegurarse de que las encuestas funcionan de manera uniforme en la aplicación de campo y en la aplicación web, debe usar el tiempo decimal en los cálculos de fecha y tiempo.

El tiempo Epoch y el tiempo decimal son diferentes formas de representar el tiempo. La hora Epoch (también conocida como hora UNIX) se define como el número de segundos transcurridos desde las 00:00:00 hora universal coordinada (UTC) del 1 de enero de 1970. ArcGIS almacena el tiempo en milisegundos en UTC, de modo que la aplicación de campo Survey123 admite el tiempo Epoch en milisegundos. La hora decimal se define como el número de días transcurridos desde ese mismo instante.

Tiempo de fácil lecturaTiempo EpochTiempo decimal

Lunes 31 de agosto de 2015 a las 09:00:00

1441011600000

16678.375

La importancia de esto es que, mientras que la aplicación de campo Survey123 es compatible tanto con el tiempo Epoch como con el tiempo decimal, la aplicación web de Survey123 solo es compatible con el tiempo decimal. Si es necesario que su encuesta funcione en la web (por sí misma o junto con la aplicación de campo), debe calcular algunas fechas con tiempo decimal. En concreto, este formato será necesario para calcular una duración, por ejemplo, para calcular una cantidad de días o segundos, o para los cálculos que conllevan la adición o sustracción de fecha y hora.

Para estos tipos de cálculos, realice un cálculo en un valor de formato de fecha decimal, realice el cálculo y convierta el resultado en un valor de fecha. En esta ecuación de muestra, se convierte una fecha decimal que ha devuelto la función now(), se le agregan 14 días y se convierte de nuevo el resultado en una fecha.

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

A continuación, puede usar la fecha devuelta por esta función para actualizar una fecha de su encuesta o enviarla como parte de su encuesta.

Al agregar o sustraer de un valor de fecha, también debe usar días decimales. Utilice la siguiente tabla como referencia para ver la equivalencia entre el tiempo decimal, el tiempo de fácil lectura y el tiempo Epoch.

Tiempo de fácil lecturaTiempo EpochTiempo decimal

1 segundo

1000

0,00001157407407 (1 / 24 / 60 / 60)

1 minuto

60.000 (1000 * 60)

0,00069444444444 (1 / 24 / 60)

1 hora

3.600.000 (1000 * 60 * 60)

0,04166666666667 (1 / 24)

1 día

86.400.000 (1000 * 60 * 60 * 24)

1

1 semana

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

7

1 mes

2.630.880.000 (1000 * 60 * 60 * 24 * 30,45)

30,45

1 año

31.557.600.000 (1000 * 60 * 60 * 24 * 365,25)

365,25

Cambiar los cálculos de tiempo Epoch por cálculos de hora decimal

Si tiene encuestas existentes que fueron creadas utilizando cálculos de tiempo basados en el formato Epoch, debe convertirlas a tiempo decimal para funcionar correctamente en la aplicación web de Survey123. A continuación se muestran algunos ejemplos de expresiones convertidas de tiempo Epoch a decimal:

ObjetivoCálculo tiempo EpochCálculo tiempo decimal

15 minutos en el futuro

ahora() + 15 * 60 * 1000

fecha y hora(fecha y hora decimal(ahora()) + 0,0104166675)

Dos semanas en el futuro

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

fecha(fecha y hora decimal(ahora()) + 14)

Tiempo pasado en la comida en minutos

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

int((fecha y hora decimal(${lunchends}) - fecha y hora decimal(${lunchstarts})) * 24 * 60)

Calcular la edad desde un cumpleaños (en años)

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

int((fecha y hora decimal(hoy()) - fecha y hora decimal(${birth_date})) div 365,25)

Una vez que conozca los cambios que es necesario hacer en su encuesta, el proceso de actualización es el siguiente:

  1. En Survey123 Connect, actualice los cálculos de tiempo basado en Epoch para utilizar los cálculos de fecha decimal. Se recomienda guardar una copia de seguridad del XLSForm antes de hacer esto.
  2. Haga pruebas de los cálculos actualizados en la vista previa de Survey123 Connect para asegurarse de que funcionan según lo esperado.
  3. Vuelva a publicar la encuesta. Las actualizaciones de los cálculos no hacen que se vuelva a publicar la capa de entidades, de forma que ningún dato existente se perderá por hacer esto.
  4. Haga que los usuarios de campo actualicen la encuesta en la aplicación de campo Survey123.