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 în funcție de fusurile orare.

Pe lângă proprietățile standard disponibile pentru majoritatea coloanelor, coloanele de dată și oră au două proprietăți suplimentare:

  • Ajustarea fusului orar: Dacă să ajustezi valorile pentru fusuri orare.
  • Format: Dacă se afișează porțiunea de timp a valorii.

Ajustarea fusului orar

Dataverse stochează toate valorile de dată și oră în fusul orar UTC. Când aplicația afișează valori sau procesează valori introduse de utilizatori, Dataverse aplicațiile bazate pe modele se pot ajusta în funcție de fusul orar al utilizatorului cu aceste opțiuni de comportament .

  • Utilizator local: Ajustați valorile pentru fusul orar al utilizatorului. Acesta este comportamentul implicit pentru formatul Dată și oră . Puteți schimba acest comportament o dată.
  • Independent de fusul orar: Fără conversie de fus orar. Acesta este comportamentul implicit pentru formatul Doar dată .

Setează fusul orar al utilizatorului în opțiunile personale, nu fusul orar al sistemului în Windows, Android, iOS sau macOS. Totuși, fusul orar al sistemului ar putea afecta scripturile client care funcționează cu date JavaScript. ...

Format

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

  • Dată și oră: Afișează data și ora valorii.
  • Numai dată: Afișează doar porțiunea de dată a valorii.

Notă

Utilizatorii pot modifica în continuare porțiunea de timp dacă Formatul este Numai dată. De exemplu, folosind apeluri Web API sau folosind un control care are partea de timp. Acest comportament este diferit de Comportamentuldoar cu o dată, unde porțiunea de timp nu este stocată deloc.

Instrucțiuni de utilizare

Folosește independent de fusul orar atunci 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ă.

Folosește data doar când nu sunt necesare informații despre ora zilei ș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.

Independent de fus orar cu doar dată este practic același lucru cu setarea coloanei doar pentru dată. Folosește-o pe prima variantă dacă nu ești sigur dacă ai nevoie de porțiunea de timp în viitor.

Important

Evitați formatul Doar dată cu comportament local utilizator. Utilizatorii din fusuri orare diferite ar putea vedea o dată diferită, ceea ce nu este intenționat în majoritatea scenariilor. Când un utilizator setează o dată într-o aplicație bazată pe model, porțiunea orară se setează automat la miezul nopții fusului său orar. Acest lucru ar putea face ca data să apară cu o zi mai devreme sau mai târziu pentru alți utilizatori.

Exemple

Valori afișate

Dataverse stochează 2023-10-15T07:30:00Z (sau 2023-10-15 pentru comportament doar pe date ). Utilizatorii din fusul orar UTC-8 văd acestea în aplicația bazată pe model sau cu o cerere 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

Introducerea valorilor într-o aplicație

Utilizatorii din fusul orar UTC-8 introduc October 14th, 2023, 11:30 pm 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 oră 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ți diferiți au modalități diferite de a gestiona datele de intrare nevalide. De exemplu, în fusul orar Pacific, ora de vară a început pe 12 martie 2023, la ora 2:00 dimineața, deplasând ora cu o oră înainte până la 3:00 dimineața. Ora dintre 2:00 și 3:00 dimineața din ziua respectivă nu există. Când utilizatorii încearcă să introducă o valoare în intervalul de timp respectiv, aplicațiile pot face una dintre următoarele acțiuni:

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

În mod similar, diferiți clienți au modalități diferite de a gestiona intervale de timp repetate. De exemplu, în fusul orar Pacific, ora de vară s-a încheiat pe 5 noiembrie 2023 la ora 2:00 dimineața, mutând ora înapoi cu o oră, la 1:00 dimineața. Ora dintre 1:00 și 2:00 dimineața din ziua respectivă 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ă echivoc orele din acel interval, cel mai bine este să comutați temporar la un fus orar care nu utilizează ora de vară.

Obțineți valori brute cu API-ul Web

Dataverse stochează 2023-10-15T07:30:00Z (sau 2023-10-15 pentru comportament doar pe date ). Utilizatorii din toate fusurile orare primesc aceste valori cu o cerere Web API pentru această valoare:

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 API-ul clientului

Utilizatorii din fusul orar UTC-8 introduc October 14th, 2023, 11:30 pm o aplicație bazată pe model. Funcțiile API-ului client cum ar fi formContext.getAttribute(<column name>).getValue() returnarea valorii cu ajustările de fus 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 un comportament independent de fusul orar , valoarea Date din JavaScript este în fusul orar al browserului:

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

Valorile de tip dată în JavaScript au întotdeauna o componentă de timp. De aceea, comportamentul *Doar dată* are o componentă temporală de 12:00 AM:

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

Notă

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

Pentru comportamentul User local , interpretați rezultatul API-ului client ca o valoare UTC. Folosește Date.getUTCDate() sau Date.getUTCHours() lucrează cu el. Pentru a obține ceea ce vede utilizatorul, aplicați getTimeZoneOffsetMinutes. Nu folosi Date.getDate() sau Date.getHours() pentru că aceste funcții afișează valoarea în fusul orar al browserului.

Pentru comportamentul independent de fus orar și doar cu dată , interpretați rezultatul API-ului client ca o valoare în fusul orar al browserului. Folosește Date.getDate() sau Date.getHours() lucrează cu el. Nu folosi Date.getUTCDate() sau Date.getUTCHours() pentru că nu trebuie să ajustezi pentru niciun fus orar.

Schimbați comportamentul local al utilizatorului

Dacă publicatorul unei soluții gestionate nu împiedică schimbarea comportamentului local, poți schimba comportamentul coloanelor personalizate existente de la local pentru utilizator la doar pentru dată sau independent de fus orar. Aceasta este o modificare 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 existente în coloane de la UTC la Numai dată, este posibil să aveți nevoie de ajutorul unui dezvoltator pentru a converti comportamentul valorilor de dată și oră existente în baza de date.

Avertisment

Înainte de a schimba comportamentul unei coloane existente de dată și oră, revizuiți toate dependențele coloanei, cum ar fi regulile de business, fluxurile de lucru, coloanele calculate sau coloanele de rollup, pentru a vă asigura că nu există probleme ca urmare a schimbării comportamentului. După modificarea comportamentului unei coloane de dată și oră, deschideți fiecare regulă de business, flux de lucru, coloană calculată și coloană de cumulare în funcție de coloana pe care ați modificat-o, examinați informațiile și salvați-le, pentru a vă asigura că se utilizează comportamentul și valoarea celei mai recente coloane de dată și oră.

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

Când imporți o soluție care conține o coloană de dată cu User local, poți schimba comportamentul în doar dată sau independent de fus orar.

Notă

Puteți modifica comportamentul unei coloane existente gestionate Doar dată sau Dată și oră numai dacă sunteți editorul. Pentru a modifica aceste câmpuri, trebuie efectuat un upgrade la soluția care a adăugat coloana *Doar data* sau *Data și ora*. Mai multe informații: Actualizarea sau modernizarea unei soluții

Preveniți schimbarea comportamentului

Dacă distribuiți o coloană de date personalizate într-o soluție gestionată, împiedicați persoanele care utilizează soluția dvs. să modifice comportamentul setând proprietatea gestionată CanChangeDateTimeBehavior la False. Mai multe informații: Setarea proprietăților gestionate pentru coloane

Operatorii de interogare de dată și oră nu sunt acceptați pentru comportamentul „Doar dată”

Următorii operatori de interogare legați de dată și oră nu sunt validi pentru comportamentul Doar 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

Vedeți și

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