Date et heure

Un formulaire XLSForm peut comporter des questions Date, Heure ou Date/heure. Il est possible de styliser ces questions pour faciliter la capture des données à l’aide des apparences.

Vous pouvez mettre en forme les dates et les heures à l’aide de la fonction format-date dans la colonne de calcul des questions Date, Heure ou Date/heure. Pour plus d’informations, reportez-vous à la rubrique Mise en forme des dates.

Les types de champs ArcGIS auxquels les questions Date et Heure sont attribuées par défaut par Survey123 peuvent être modifiés pour capturer la date uniquement, l’heure uniquement ou le décalage de l’horodatage. Pour en savoir plus, reportez-vous à la rubrique Colonnes personnalisées Esri.

Attention :

La version de novembre de Survey123 Connect 3.19 et les versions antérieures ne peuvent pas attribuer des champs de type date uniquement, heure uniquement ou décalage de l’horodatage. Bien que la mise à jour de février de Survey123 Connect 3.19 puisse publier des types de données sur ArcGIS Enterprise 11.2, elles ne sont pas complètement prises en charge et leur utilisation dans des couches Web de ArcGIS Enterprise 11.2 est considérée comme une fonctionnalité bêta.

Les questions de début et de fin capturent automatiquement les heures et date de début et de fin de l’enquête et servent à calculer le temps nécessaire à la réalisation d’une enquête.

Heure Epoch et heure décimale

Vous pouvez représenter l’heure de deux manières dans Survey123 : l’heure Epoch et l’heure décimale. L’application de terrain Survey123 prend en charge à la fois l’heure Epoch et l’heure décimale alors que l’application Web ne prend en charge que l’heure décimale. Pour vous assurer que les enquêtes fonctionnent de manière cohérente à la fois dans l’application de terrain et l’application Web, vous devez utiliser l’heure décimale dans les calculs de date et d’heure.

L’heure Epoch et l’heure décimale représentent l’heure de deux manières différentes. L’heure Epoch (connue également sous le nom d’heure UNIX) est définie comme étant le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970 à 00:00:00 (temps universel coordonné, UTC). ArcGIS stocke l’heure en millisecondes au format UTC, donc l’application de terrain Survey123 prend en charge l’heure Epoch en millisecondes. L’heure UNIX est définie comme étant le nombre de jours qui se sont écoulés depuis la même date.

Heure intelligibleHeure EpochHeure décimale

Lundi 31 août 2015 09:00:00

1441011600000

16678,375

Ceci est important car, même si l’application de terrain Survey123 prend en charge à la fois l’heure Epoch et l’heure décimale, l’application Web Survey123 prend uniquement en charge l’heure décimale. Si votre enquête doit fonctionner sur le Web (de manière autonome ou avec l’application de terrain), vous devez calculer certaines dates avec l’heure décimale. En particulier, ceci est nécessaire pour le calcul d’une durée, par exemple, pour calculer un nombre de jours ou de secondes, ou pour les calculs qui impliquent l’ajout ou la soustraction de dates.

Pour ces types de calculs, réalisez un calcul sur une valeur de format de date décimale, effectuez le calcul, puis convertissez le résultat en valeur de date. Cette équation d’exemple convertit une date décimale renvoyée par la fonction now(), ajoute 14 jours, puis reconvertit le résultat en date.

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

Vous pouvez ensuite utiliser la date renvoyée par cette fonction pour mettre à jour une date dans votre enquête ou l’envoyer dans le cadre de votre enquête.

Lors de l'ajout ou de la soustraction à partir d'une valeur de date, vous devez également utiliser des jours décimaux. Utilisez le tableau suivant comme référence pour connaître l’équivalence de l’heure décimale par rapport à l’heure intelligible et l’heure Epoch.

Heure intelligibleHeure EpochHeure décimale

1 seconde

1000

0.00001157407407 (1 / 24 / 60 / 60)

1 minute

60 000 (1000 * 60)

0,00069444444444 (1 / 24 / 60)

1 heure

3600000 (1000 * 60 * 60)

0,04166666666667 (1 / 24)

1 jour

86400000 (1000 * 60 * 60 * 24)

1

1 semaine

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

7

1 mois

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

30,45

1 an

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

365,25

Modifier les calculs d’heure Epoch en calculs d’heure décimale

Si vous possédez des enquêtes qui ont été créées avec des calculs d’heure Epoch, vous devez les convertir en heure décimale pour qu’elles fonctionnent correctement dans l’application Web Survey123. Voici quelques exemples d’expressions converties de l’heure Epoch en heure décimale :

ObjectifCalcul d’heure EpochCalcul d’heure décimale

15 minutes dans le futur

now() + 15 * 60 * 1000

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

Deux semaines dans le futur

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

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

Temps consacré au déjeuner en minutes

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

int((decimal-date-time(${lunchends}) - decimal-date-time(${lunchstarts})) * 24 * 60)

Calculer l’âge à partir d’un anniversaire (en années)

int((today() - ${birth_date}) div (1000 * 24 * 60 * 60 * 365,25))

int((decimal-date-time(today()) - decimal-date-time(${birth_date})) div 365.25)

Une fois que vous avez identifié les changements nécessaires à votre enquête, la procédure de mise à jour est la suivante :

  1. Dans Survey123 Connect, actualisez les calculs d’heure Epoch de façon à utiliser les calculs de date décimale. Il est conseillé d’enregistrer une copie de sauvegarde du formulaire XLSForm avant de continuer.
  2. Testez les calculs mis à jour dans l’aperçu Survey123 Connect pour vérifier qu’ils fonctionnent comme prévu.
  3. Republiez l’enquête. Comme les mises à jour apportées aux calculs ne déclenchent pas la republication de la couche d’entités, aucune donnée existante n’est perdue via cette opération.
  4. Permettez aux utilisateurs sur le terrain de mettre à jour l’enquête dans l’application de terrain Survey123.