Comportamento e formato della colonna Data e ora

In Microsoft Dataverse, puoi specificare in che modo i valori di data e ora vengono mostrati agli utenti e come vengono adattati ai fusi orari.

Sono disponibili due opzioni per le colonne di data e ora.

  • Comportamento: se regolare i valori per i fusi orari.
  • Formato: se visualizzare la parte temporale del valore.

Comportamento

Dataverse memorizza tutti i valori di data e ora nel fuso orario UTC. Quando la tua app visualizza valori o valori di elaborazione immessi dagli utenti, Dataverse e le app basate su modello possono adattarsi al fuso orario dell'utente con queste opzioni di Comportamento.

  • Utente locale: regola i valori per il fuso orario degli utenti. Si tratta del comportamento predefinito. Se necessario, puoi cambiarlo una volta con un altro comportamento.
  • Indipendente da fuso orario: nessuna conversione del fuso orario.
  • Solo data: nessuna conversione del fuso orario. A differenza di Indipendente dal fuso orario, la parte temporale non viene archiviata.

Il fuso orario dell'utente è impostato in opzioni personali, non il fuso orario del sistema in Windows, Android, iOS o macOS. Comunque, il fuso orario del sistema potrebbe influire sugli script client che funzionano con le date JavaScript.

Formatta

Tutte le colonne di data e ora hanno una porzione temporale a meno che il comportamento non sia Solo data. Formato: determina se visualizzare la parte temporale del valore.

  • Data e ora: visualizza la data e l'ora del valore.
  • Solo data: visualizza la parte di data e solo il valore.

Nota

Gli utenti possono comunque modificare la parte temporale se Formato è Solo data. Ad esempio, con le chiamate API Web o utilizzando un controllo che include la parte temporale. Questo è diverso da Solo data Comportamento, dove la parte temporale non viene affatto memorizzata.

Linee guida per l'uso

Usa il comportamento Indipendente da fuso orario quando le informazioni sul fuso orario non sono richieste, ad esempio per gli orari del check-in in hotel. Con questa selezione, gli utenti in tutti i fusi orari vedranno esattamente lo stesso valore di data e ora.

Il comportamento Solo data è indicato quando le informazioni relative all'ora del giorno e al fuso orario non sono necessarie, ad esempio per compleanni o anniversari. Con questa selezione, gli utenti in tutti i fusi orari vedranno esattamente lo stesso valore di data.

Il comportamento Indipendente dal fuso orario con formato Solo data è praticamente lo stesso del comportamento Solo data. Utilizza il primo se non sei sicuro di aver bisogno della porzione temporale in futuro.

Esempi

Valori visualizzati

Dataverse memorizza 2023-10-15T07:30:00Z (o 2023-10-15 per il comportamento Solo data). Gli utenti nel fuso orario UTC-8 li vedono nell'app basata su modello o con una richiesta API Web per il valore formattato:

Comportamento Formatta Valore visualizzato
Locale utente Data e ora 14 ottobre 2023, 23:30
Locale utente Solo data 14 ottobre 2023
Indipendente dal fuso orario Data e ora 15 ottobre 2023, 7:30
Indipendente dal fuso orario Solo data 15 ottobre 2023
Solo data - 15 ottobre 2023

Inserisci i valori in un'app

Gli utenti nel fuso orario UTC-8 entrano October 14th, 2023, 11:30 pm in un'app basata su modello. Il valore viene salvato in Dataverse come:

Comportamento Formatta Valore salvato in Dataverse
Locale utente Data e ora 2023-10-15T07:30:00Z
Locale utente Solo data 2023-10-15T07:30:00Z
Indipendente dal fuso orario Data e ora 2023-10-14T23:30:00Z
Indipendente dal fuso orario Solo data 2023-10-14T23:30:00Z
Solo data - 2023-14-10

Se l'utente inserisce solo la data October 14th, 2023, si presuppone che la parte dell'ora sia 00:00.

Comportamento Formatta Valore salvato in Dataverse
Locale utente Solo data 2023-10-14T08:00:00Z
Indipendente dal fuso orario Solo data 2023-10-14T00:00:00Z
Solo data - 2023-14-10

Inserisci i valori non validi in un'app

Client diversi hanno modi diversi di gestire l'input non valido. Ad esempio, nel fuso orario del Pacifico, l'ora legale è iniziata il 12 marzo 2023 alle 2:00, spostando l'ora avanti di un'ora alle 3:00. L'orario compreso tra le 2:00 e le 3:00 di quel giorno non esiste. Quando gli utenti tentano di inserire un valore in tale intervallo di tempo, le app potrebbero eseguire una delle seguenti operazioni:

  • Passare all'orario valido precedente o successivo.
  • Ripristina l'ultimo valore noto.
  • Mostra un messaggio di errore.
  • Non mostrare orari compresi tra le 2:00 e le 3:00 nel selettore dell'orario, in modo che gli utenti non possano selezionarli in primo luogo.

Allo stesso modo, client diversi hanno modi diversi di gestire intervalli di tempo ripetuti. Ad esempio, nel fuso orario del Pacifico, l'ora legale è terminata il 5 novembre 2023 alle 2:00, spostando l'ora indietro di un'ora all'1:00. L'orario compreso tra le 1:00 e le 2:00 di quel giorno è ripetuto due volte. Un'ora come l'1:30 potrebbe riferirsi a entrambi i fusi orari. Se è necessario mostrare o inserire orari in tale intervallo in modo inequivocabile, è meglio passare temporaneamente a un fuso orario che non utilizza l'ora legale.

Ottieni valori grezzi con l'API Web

Dataverse memorizza 2023-10-15T07:30:00Z (o 2023-10-15 per il comportamento Solo data). Gli utenti in tutti i fusi orari ottengono questi risultati con una richiesta API Web per il valore:

Comportamento Formatta Valore grezzo
Locale utente Data e ora 2023-10-15T07:30:00Z
Locale utente Solo data 2023-10-15T07:30:00Z
Indipendente dal fuso orario Data e ora 2023-10-15T07:30:00Z
Indipendente dal fuso orario Solo data 2023-10-15T07:30:00Z
Solo data - 2023-15-10

Ottieni valori con l'API client

Gli utenti nel fuso orario UTC-8 entrano October 14th, 2023, 11:30 pm in un'app basata su modello. Le funzioni dell'API client come formContext.getAttribute(<column name>).getValue() restituiscono il valore con le regolazioni del fuso orario applicate:

Comportamento Formatta JavaScript dateValue.toUTCString()
Locale utente Data e ora 15-10-2023 07:30 (UTC)
Locale utente Solo data 15-10-2023 07:30 (UTC)

Per il comportamento Indipendente dal fuso orario, il valore Data di JavaScript è nel fuso orario del browser:

Comportamento Formatta JavaScript dateValue.toString()
Indipendente dal fuso orario Data e ora 2023-10-14 23:30 (fuso orario del browser)
Indipendente dal fuso orario Solo data 2023-10-14 23:30 (fuso orario del browser)

I valori di data JavaScript hanno sempre una componente temporale. Ecco perché il comportamento Solo data ha una componente temporale pari a 00:00:

Comportamento Formatta JavaScript dateValue.toString()
Solo data - 2023-10-15 00:00 (fuso orario del browser)

Nota

I valori della data JavaScript sono influenzati dal fuso orario del browser, che deriva dalle impostazioni del sistema operativo del dispositivo.

Per il comportamento Utente locale, il risultato dell'API client deve essere interpretato come un valore UTC. Uso di Date.getUTCDate(), Date.getUTCHours() per il lavoro. Per ottenere ciò che vede l'utente, applica getTimeZoneOffsetMinutes. Non utilizzare Date.getDate(), Date.getHours() perché mostreranno il valore nel fuso orario del browser.

Per il comportamento Indipendente dal fuso orario e Solo data, il risultato dell'API client deve essere interpretato come un valore nel fuso orario del browser. Uso di Date.getDate(), Date.getHours() per il lavoro. Non utilizzare Date.getUTCDate(), Date.getUTCHours() e così via perché non è necessario adattarsi ad alcun fuso orario.

Modificare il comportamento dell'utente locale

A meno che un autore di una soluzione gestita lo impedisca, puoi modificare il comportamento di colonne di date personalizzate esistenti da Utente locale a Solo data o Indipendente da fuso orario. Sarà necessario eseguire questa modifica solo una volta.

La modifica del comportamento della colonna riguarda i valori di colonna che vengono aggiunti o modificati dopo che il comportamento della colonna è stato modificato. I valori di colonna esistenti restano nel database nel formato di fuso orario UTC. Per modificare il comportamento dei valori delle colonne esistenti da UTC a Solo data, potresti aver bisogno dell'aiuto di uno sviluppatore per convertire il comportamento della data esistente e valori temporali nel database.

Avviso

Prima di modificare il comportamento di una colonna esistente di data e ora, devi esaminare tutte le dipendenze della colonna, ad esempio le regole di business, i flussi di lavoro e le colonne calcolate o di rollup, per assicurarti che non si verifichino problemi a seguito della modifica del comportamento. Dopo aver modificato il comportamento di una colonna di data e ora, devi aprire ogni regola di business, flusso di lavoro, colonna calcolata e colonna di rollup che dipende dalla colonna modificata, esaminare le informazioni e salvarle in modo da garantire che vengano utilizzati il comportamento e il valore della colonna di data e ora più recenti.

Modificare il comportamento durante l'importazione di una soluzione

Quando importi una soluzione che contiene una colonna Data con il comportamento Utente locale, puoi modificare il comportamento in Solo data o Indipendente da fuso orario.

Nota

Puoi modificare il comportamento di una colonna Solo data o Data e ora gestita esistente solo se sei l'editore. Per poter apportare una modifica a questi campi è necessario effettuare un aggiornamento alla soluzione che ha aggiunto la colonna Solo data o Data e ora. Ulteriori informazioni: Aggiornare o eseguire l'upgrade di una soluzione

Impedire il cambiamento di comportamento

Se distribuisci una colonna data personalizzata in una soluzione gestita, puoi impedire agli utenti che utilizzano la soluzione di modificare il comportamento impostando la proprietà gestita CanChangeDateTimeBehavior su Falso. Ulteriori informazioni: Impostare le proprietà gestite per le colonne

Gli operatori di query di data e ora non sono supportati per il comportamento Solo data

I seguenti operatori di query relativi a data e ora non sono validi per il comportamento Solo data. Viene generato un errore di eccezione di operatore non valido quando uno di questi operatori viene utilizzato nella query.

  • Oltre X minuti fa
  • Oltre X ore fa
  • Ultime X ore
  • Prossime X ore

Vedi anche

Risolvere i problemi relativi a data e ora nelle app basate su modello
Creare e modificare colonne
Definire colonne calcolate per automatizzare i calcoli manuali
Proprietà gestite per le colonne
Proprietà gestite
Blog: Utilizzo dei fusi orari in Dataverse
Configurare il comportamento e il formato della colonna data e ora usando codice

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).