Data e ora

Un XLSForm può contenere domande date, time o dateTime. Queste domande possono essere concepite per facilitare l'acquisizione dati tramite aspetti.

È possibile formattare date e ore utilizzando la funzione format-date nella colonna di calcolo delle domande date, time e dateTime. Per ulteriori informazioni, vedere Formattazione della data.

I tipi di campo ArcGIS a cui Survey123 assegna le domande date e time per impostazione predefinita possono essere modificate in modo da acquisire solo la data, solo l'ora o l'offset di timestamp. Per ulteriori informazioni, vedere Colonne personalizzate di Esri.

Attenzione:

La release di novembre di Survey123 Connect 3.19 e le versioni precedenti non possono assegnare tipo di campi solo data, solo ora o offset di timestamp. Anche se con l'aggiornamento di febbraio di Survey123 Connect 3.19 è possibile pubblicare questi tipi di dati in ArcGIS Enterprise 11.2, non sono completamente supportati e il loro uso nei layer Web in ArcGIS Enterprise 11.2 è considerato una funzionalità beta.

Le domande start ed end acquisiscono la data e l'ora di inizio e fine del rilevamento automaticamente e possono essere usate per calcolare il tempo impiegato per completare un rilevamento.

Formati di data e ora

Esistono tre formati di data e ora che è possibile utilizzare in Survey123: formato ISO 8601, ora Epoch (Unix) e ora decimale.

La seguente tabella riepiloga questi formati.

NomeDescrizioneEsempi

Formato ISO 8601

Stringa che può includere un offset UTC. Questo formato è supportato sia dall'app da campo che dall'app WebSurvey123.

Questo formato è utile per le impostazioni predefinite e i vincoli poiché è leggibile dagli utenti.

2015-08-31T09:07:01Z

2015-08-31T09:07:01Z-07:00

Ora Epoch (Unix)

Intero che rappresenta il numero di millisecondi trascorsi dalle 00:00:00 tempo coordinato universale (UTC) del 1 gennaio 1970. Questo formato non è supportato dall'app Web Survey123.

Anche se convertito in una data o ora leggibile dall'uomo quando viene visualizzato nelle app ArcGIS, il tempo Epoch è il modo in cui i dati vengono memorizzati in ArcGIS Online e ArcGIS Enterprise ed è ciò che viene restituito dall'oggetto feature.

1441011600000

Ora decimale

Numero decimale che rappresenta il numero di giorni trascorsi dalle 00:00:00 tempo coordinato universale (UTC) del 1 gennaio 1970. Questo formato è supportato sia dall'app da campo che dall'app Web Survey123.

Quando si aggiunge o si sottrae da un valore di data è necessario utilizzare l'ora decimale.

16678.375

Suggerimento:

Per garantire che i rilevamenti funzionino in modo coerente nell'app di campo e nell'app Web, è necessario utilizzare ISO 8601 o il formato ora decimale nei calcoli di data e ora.

Calcoli con ora Epoch e ora decimale

La seguente tabella descrive come l'ora Epoch e l'ora decimale equivalgono all'ora leggibile dall'utente.

Ora leggibile da un utenteOra EpochOra decimale

1 secondo

1000

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

1 minuto

60.000 (1000 * 60)

0,00069444444444 (1 / 24 / 60)

1 ora

3600000 (1000 * 60 * 60)

0,04166666666667 (1 / 24)

1 giorno

86400000 (1000 * 60 * 60 * 24)

1

1 settimana

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

7

1 mese

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

30.45

1 anno

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

365.25

Se si dispone di rilevamenti esistenti che sono stati creati utilizzando calcoli di ora basata su Epoch, dovranno essere convertiti in ora decimale per funzionare correttamente nell'app Web Survey123. Di seguito sono riportati alcuni esempi di espressioni convertite da ora Epoch a decimale:

ObiettivoCalcolo ora EpochCalcolo ora decimale

15 minuti nel futuro

now() + 15 * 60 * 1000

date-time(decimal-date-time(now()) + 0,0104166675)

Due settimane nel futuro

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

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

Tempo trascorso in pausa pranzo in minuti

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

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

Calcolare età da una data di nascita (in anni)

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

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

Dopo aver compreso le modifiche necessarie per il proprio rilevamento, il processo di aggiornamento è il seguente:

  1. In Survey123 Connect, aggiornare qualsiasi calcolo dell'ora basato su Epoch per utilizzare calcoli di data decimali. Prima di procedere, si consiglia di salvare un backup dell'XLSForm.
  2. Verificare i calcoli aggiornati nell'anteprima Survey123 Connect per accertarsi che funzionino come previsto.
  3. Pubblicare nuovamente il rilevamento. Gli aggiornamenti dei calcoli non attivano una nuova pubblicazione del feature layer, pertanto durante questa operazione non verranno persi dati esistenti.
  4. Chiedere agli utenti sul campo di aggiornare il rilevamento nell'app di campo di Survey123.