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).