Fecha y hora decimal

Para asegurarse de que todas las encuestas que crea funcionan de manera uniforme en la aplicación de campo y en la aplicación web, tendrá que usar el tiempo decimal al escribir los cálculos de tiempo. Siempre hay dos formas de representar el tiempo en Survey123: tiempo de formato Epoch y tiempo decimal.

Tiempo Epoch y tiempo decimal

El tiempo Epoch y el tiempo decimal son distintas formas de almacenar el tiempo como valor. Ambas se definen por la cantidad de tiempo transcurrido desde el 1 de enero de 1970. El tiempo Epoch (también conocido como hora UNIX debido a su uso generalizado en los sistemas UNIX y de tipo UNIX) almacena el tiempo como la cantidad de milisegundos transcurridos a partir de este punto, mientras que el tiempo decimal se almacena como la cantidad de días a partir del mismo punto.

Tiempo en formato de fácil lecturaTiempo EpochTiempo decimal

1 de enero de 1980

31311360000

3652

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), algunos cálculos de fecha tendrán que hacerse usando el 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, tendrá que convertir un valor de fecha (derivado de una pregunta de la encuesta o de una función como now() o today()) en un formato de fecha decimal, realizar el cálculo y convertir el resultado nuevamente en un valor de fecha. En esta ecuación de ejemplo se convierte una fecha que ha devuelto la función now(), se le agregan 14 días y se convierte de nuevo el resultado en un objeto de fecha.

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

El objeto de fecha devuelto por esta función se puede utilizar para actualizar el control de fecha en la encuesta o enviarlo como parte de la encuesta.

Al agregar o sustraer de un valor de fecha, también será necesario trabajar con 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

3600000 (1000 * 60 * 60)

0.04166666666667 (1 / 24)

1 día

86400000 (1000 * 60 * 60 * 24)

1

1 semana

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

7

1 mes

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

30,45

1 año

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

365,25

Migración de encuestas

Si tiene encuestas existentes que fueron creadas utilizando cálculos de tiempo basados en el formato Epoch, dichas encuestas tendrán que convertirse al 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 propia encuesta, el proceso de actualización es el siguiente:

  1. En Survey123 Connect, actualice los cálculos de tiempo basado en Epoch para utilizar la fecha y hora 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.