Comportamentul și formatul coloanei de dată și oră

În Microsoft Dataverse, puteți specifica modul în care valorile datei și orei sunt afișate utilizatorilor și cum sunt ajustate pentru fusurile orare.

Sunt disponibile două opțiuni pentru coloanele de dată și oră.

  • Comportament: dacă să ajustați valorile pentru fusurile orare.
  • Format: dacă se afișează porțiunea de timp a valorii.

Comportamentul

Dataverse stochează toate valorile datei și orei în fusul orar UTC. Când aplicația dvs. afișează valori sau valori de procesare introduse de utilizatori, Dataverse și aplicațiile bazate pe model se pot ajusta pentru fusul orar al utilizatorului cu aceste opțiuni de Comportament .

  • Local utilizator: ajustați valorile pentru fusul orar al utilizatorului. Acesta este comportamentul implicit. Puteți modifica acest comportament o dată cu un alt comportament.
  • Independent de fus orar: fără conversie de fus orar.
  • Numai dată: fără conversie de fus orar. Spre deosebire de Independent de fusul orar, porțiunea de timp nu este stocată.

Fusul orar al utilizatorului este setat în opțiuni personale, nu în fusul orar al sistemului în Windows, Android, iOS sau macOS. Cu toate acestea, fusul orar al sistemului poate afecta scripturile client care funcționează cu Date JavaScript.

Format

Toate coloanele de dată și oră au o porțiune de oră, cu excepția cazului în care comportamentul acesteia este Numai data. Format determină dacă se afișează porțiunea de timp a valorii.

  • Data și ora: afișează data și ora valorii.
  • Numai data: afișează numai porțiunea dată a valorii.

Notă

Utilizatorii pot schimba în continuare porțiunea de timp dacă Format este Numai dată. De exemplu, cu apeluri Web API sau prin utilizarea unui control care are porțiunea de timp. Acesta este diferit de Numai dată Comportament, în care porțiunea de timp nu este stocată deloc.

Instrucțiuni de utilizare

Folosiți un comportament independent de fusul orar când informațiile despre fusul orar nu sunt necesare, cum ar fi orele de check-in la hotel. Cu această selecție, utilizatorii din toate fusurile orare văd aceeași valoare pentru dată și oră.

Folosiți comportamentul Numai dată când nu sunt necesare informații despre ora și fusul orar, cum ar fi zilele de naștere sau aniversările. Cu această selecție, utilizatorii din toate fusurile orare văd exact aceeași valoare a datei.

Comportamentul independent de fus orar cu formatul Numai dată este practic același cu Numai dată comportament. Utilizați primul dacă nu sunteți sigur dacă aveți nevoie de porțiunea de timp în viitor.

Important

Evitați formatul Numai pentru dată cu comportamentul local al utilizatorului. Utilizatorii din diferite fusuri orare pot vedea o dată diferită, ceea ce nu este destinat în majoritatea scenariilor. Când un utilizator setează o dată într-o aplicație bazată pe model, porțiunea de timp va fi setată automat la miezul nopții din fusul său orar. Acest lucru poate face ca data să apară cu o zi mai devreme sau mai târziu pentru alți utilizatori.

Exemple

Afișează valori

Dataverse stochează 2023-10-15T07:30:00Z (sau 2023-10-15 pentru numai data comportament). Utilizatorii din fusul orar UTC-8 le văd în aplicația bazată pe model sau cu o solicitare API web pentru valoarea formatată:

Comportamentul Format Valoare afișată
Ora locală a utilizatorului Data și ora 14 octombrie 2023, ora 23:30
Ora locală a utilizatorului Numai data 14 octombrie 2023
Fus orar Independent Data și ora 15 octombrie 2023, ora 7:30
Fus orar Independent Numai data 15 octombrie 2023
Numai data - 15 octombrie 2023

Introduceți valori într-o aplicație

Utilizatorii din fusul orar UTC-8 intră October 14th, 2023, 11:30 pm într-o aplicație bazată pe model. Valoarea este salvată în Dataverse ca:

Comportamentul Format Valoarea salvată în Dataverse
Ora locală a utilizatorului Data și ora 2023-10-15T07:30:00Z
Ora locală a utilizatorului Numai data 2023-10-15T07:30:00Z
Fus orar Independent Data și ora 2023-10-14T23:30:00Z
Fus orar Independent Numai data 2023-10-14T23:30:00Z
Numai data - 2023-10-14

Dacă utilizatorul introduce doar data October 14th, 2023, se presupune că porțiunea de timp este 12:00 AM.

Comportamentul Format Valoarea salvată în Dataverse
Ora locală a utilizatorului Numai data 2023-10-14T08:00:00Z
Fus orar Independent Numai data 2023-10-14T00:00:00Z
Numai data - 2023-10-14

Introduceți valori nevalide într-o aplicație

Clienții diferiți au moduri diferite de a gestiona intrările nevalide. De exemplu, în fusul orar Pacific, ora de vară a început pe 12 martie 2023 la ora 2:00, avansând ora cu o oră la 3:00. Ora dintre 2:00 AM și 3:00 AM în acea zi nu există. Când utilizatorii încearcă să introducă o valoare în intervalul de timp respectiv, aplicațiile pot face una dintre următoarele:

  • Schimbați la ora valabilă anterioară sau următoare.
  • Reveni la ultima valoare cunoscută.
  • Afișează un mesaj de eroare.
  • Nu afișați orele între 2:00 și 3:00 în selectorul de timp, astfel încât utilizatorii să nu le poată selecta în primul rând.

În mod similar, clienții diferiți au moduri diferite de a gestiona intervalele de timp repetate. De exemplu, în fusul orar din Pacific, ora de vară s-a încheiat pe 5 noiembrie 2023 la 2:00 AM, deplasând ora înapoi cu o oră la 1:00 AM. Ora între 1:00 AM și 2:00 AM în acea zi se repetă de două ori. O oră precum 1:30 AM se poate referi la oricare dintre fusurile orare. Dacă trebuie să afișați sau să introduceți fără ambiguitate ore în intervalul respectiv, cel mai bine este să comutați temporar la un fus orar care nu folosește ora de vară.

Obțineți valori brute cu Web API

Dataverse stochează 2023-10-15T07:30:00Z (sau 2023-10-15 pentru numai data comportament). Utilizatorii din toate fusurile orare le primesc cu o solicitare API Web pentru valoarea:

Comportamentul Format Valoare brută
Ora locală a utilizatorului Data și ora 2023-10-15T07:30:00Z
Ora locală a utilizatorului Numai data 2023-10-15T07:30:00Z
Fus orar Independent Data și ora 2023-10-15T07:30:00Z
Fus orar Independent Numai data 2023-10-15T07:30:00Z
Numai data - 2023-10-15

Obțineți valori cu Client API

Utilizatorii din fusul orar UTC-8 intră October 14th, 2023, 11:30 pm într-o aplicație bazată pe model. Client API funcționează ca formContext.getAttribute(<column name>).getValue() returnează valoarea cu ajustările fusului orar aplicate:

Comportamentul Format JavaScript dateValue.toUTCString()
Ora locală a utilizatorului Data și ora 2023-10-15 07:30 (UTC)
Ora locală a utilizatorului Numai data 2023-10-15 07:30 (UTC)

Pentru comportamentul independent de fusul orar, valoarea JavaScript Data este în fusul orar al browserului:

Comportamentul Format JavaScript dateValue.toString()
Fus orar Independent Data și ora 2023-10-14 23:30 (fus orar al browserului)
Fus orar Independent Numai data 2023-10-14 23:30 (fus orar al browserului)

Valorile date JavaScript au întotdeauna o componentă de timp. De aceea, comportamentul Numai la dată are o componentă de timp de 12:00:

Comportamentul Format JavaScript dateValue.toString()
Numai data - 2023-10-15 00:00 (fus orar al browserului)

Notă

Valorile date JavaScript sunt afectate de fusul orar al browserului, care provine din setările sistemului de operare al dispozitivului.

Pentru comportamentul local al utilizatorului, rezultatul API-ului client trebuie interpretat ca o valoare UTC. Utilizați Date.getUTCDate(), Date.getUTCHours() etc. pentru a lucra cu acesta. Pentru a obține ceea ce vede utilizatorul, aplicați getTimeZoneOffsetMinutes. Nu utilizați Date.getDate(), Date.getHours() etc. deoarece acestea vor afișa valoarea în fusul orar al browserului.

Pentru comportamentul Independent de fus orar și Numai dată, rezultatul API-ului client trebuie interpretat ca o valoare în browser-ul fus orar. Utilizați Date.getDate(), Date.getHours() etc. pentru a lucra cu acesta. Nu utilizați Date.getUTCDate(), Date.getUTCHours() și așa mai departe, deoarece nu trebuie să vă ajustați pentru niciun fus orar.

Schimbați comportamentul local al utilizatorului

Cu excepția cazului în care editorul unui soluție gestionată împiedică acest lucru, puteți modifica comportamentul coloanelor de date personalizate existente de la Utilizator local la Numai dată sau Independent de fusul orar. Aceasta este o schimbare unică.

Modificarea comportamentului coloanei influențează valorile coloanei care sunt adăugate sau modificate după modificarea comportamentului coloanei. Valorile de coloană existente rămân în baza de date în formatul de fus orar UTC. Pentru a schimba comportamentul valorilor coloanei existente din UTC la Numai data, este posibil să aveți nevoie de ajutorul unui dezvoltator pentru a conversia comportamentului datei existente. și valorile de timp în baza de date.

Avertisment

Înainte de modificarea comportamentului unei coloane dată și oră, trebuie să revizuiți toate dependențele coloanei, precum regulile de business, fluxurile de lucru, coloanele calculate sau coloanele de cumul, pentru a vă asigura că nu există nicio problemă ca rezultat al modificării comportamentului. După modificarea comportamentului unei coloane de dată și oră, deschideți fiecare regulă de afaceri, flux de lucru, coloană calculată și coloană cumulativă în funcție de coloana pe care ați schimbat-o, examinați informațiile și salvați-le, pentru a vă asigura că cea mai recentă coloană de dată și oră are comportamentul și valoarea sunt utilizate.

Modificați comportamentul în timpul importului unei soluții

Când importați o soluție care conține o coloană Data cu comportamentul local al utilizatorului, puteți modifica comportamentul în Numai data sau Independent de fusul orar.

Notă

Puteți modifica comportamentul unei coloane gestionate Numai data sau Data și ora dacă sunteți editorul. Pentru a modifica aceste câmpuri, trebuie făcută o actualizare la soluția care a adăugat Numai data sau Data și ora coloană. Mai multe informații: Faceți un upgrade al unei soluții sau actualizați o soluție

Preveniți schimbarea comportamentului

Dacă distribuiți o coloană de dată personalizată într-un soluție gestionată, împiedicați persoanele care folosesc soluția dvs. să modifice comportamentul setând CanChangeDateTimeBehavior proprietatea gestionată la Fals. Informații suplimentare: Setați proprietăți gestionate pentru coloane

Operatorii de interogare de dată și oră nu sunt acceptați pentru comportamentul numai pentru dată

Următorii operatori de interogare legate de dată și oră nu sunt validi pentru comportamentul Numai dată . O eroare de excepție pentru un operator nevalid apare atunci când unul dintre acești operatori este folosit în interogare.

  • Mai vechi de X minute
  • Mai vechi de X ore
  • Ultimele X ore
  • Următoarele X ore

Consultați și

Rezolvați problemele legate de dată și oră în aplicațiile bazate pe model
Creați și editați coloane
Definiți coloane calculate pentru a automatiza calculele manuale
Proprietăți gestionate de coloană
Proprietăți gestionate
Blog: Lucrul cu fusurile orare în Dataverse
Configurați comportamentul și formatul coloanei de dată și oră folosind cod

Notă

Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)

Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).