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.
Nome | Descrizione | Esempi |
---|---|---|
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 utente | Ora Epoch | Ora 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:
Obiettivo | Calcolo ora Epoch | Calcolo 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:
- 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.
- Verificare i calcoli aggiornati nell'anteprima Survey123 Connect per accertarsi che funzionino come previsto.
- 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.
- Chiedere agli utenti sul campo di aggiornare il rilevamento nell'app di campo di Survey123.