Del via


Funktionsmåde i og format for kolonnen Dato og klokkeslæt

I Microsoft Dataverse kan du angive, hvordan dato- og klokkeslætsværdier skal vises til brugere, og hvordan de skal justeres for tidszoner.

Ud over de standardegenskaber, der er tilgængelige med de fleste kolonner, har kolonnerne dato og klokkeslæt to ekstra egenskaber:

  • Justering af tidszone: Om værdierne skal justeres for tidszoner.
  • Format: Om klokkeslætsdelen af værdien skal vises.

Justering af tidszone

Dataverse gemmer alle dato- og klokkeslætsværdier i UTC-tidszonen. Når der vises værdier eller behandles værdier, der er angivet af brugere, kan Dataverse og modelbaserede apps justeres i forhold til brugerens tidszone med disse indstillinger for Funktionsmåde.

  • Brugers lokaltid: Juster værdier for brugerens tidszone. Dette er standardfunktionsmåden for dato og klokkeslæt-format. Du kan ændre dette én gang til en anden funktionsmåde.
  • Tidszoneuafhængig: Ingen tidszonekonvertering. Dette er standardfunktionsmåden kun for Dato-format.

Angiv brugerens tidszone i personlige indstillinger, ikke systemets tidszone i Windows, Android, iOS eller macOS. Men systemtidszonen kan påvirke klientscripts, der arbejder med JavaScript-datoer.

Format

Alle dato- og klokkeslætskolonner har en klokkeslætsdel, medmindre deres funktionsmåde er Kun dato. Format: bestemmer, om klokkeslætsdelen af værdien skal vises.

  • Dato og klokkeslæt: Viser dato og klokkeslæt af værdien.
  • Kun dato: Viser kun datodelen af værdien.

Bemærk

Brugere kan stadig ændre klokkeslætsdelen, hvis Format er Kun dato. F.eks. ved hjælp af web-API-kald eller ved hjælp af et kontrolelement, der har tidsdelen. Denne funktionsmåde adskiller sig fra funktionsmåden Kun dato, hvor klokkeslætsdelen slet ikke er gemt.

Retningslinjer for brug

Brug Tidszone uafhængig, når der ikke kræves oplysninger om tidszone, f.eks. tider for hotelindtjekning. Med dette valg ser alle brugere i alle tidszoner samme dato- og klokkeslætsværdi.

Brug kun Dato , når oplysninger om tidspunktet på dagen og tidszonen ikke er påkrævet, f.eks. fødselsdage eller jubilæer. Med dette valg ser alle brugere i alle tidszoner nøjagtig samme datoværdi.

Tidszonen, der er uafhængig med Kun dato , er stort set den samme som at angive kolonnen som kun Dato. Brug den første, hvis du ikke er sikker på, om du skal bruge klokkeslætsdelen i fremtiden.

Vigtige oplysninger

Undgå kun Dato-format med brugerens lokale adfærd. Brugere i forskellige tidszoner kan se en anden dato, hvilket ikke er tilsigtet i de fleste scenarier. Når en bruger angiver en dato i en modeldreven app, angives klokkeslætsdelen automatisk til midnat i sin tidszone. Det kan medføre, at datoen vises en dag tidligere eller senere for andre brugere.

Eksempler

Vis værdier

Dataverse gemmer 2023-10-15T07:30:00Z (eller 2023-10-15 for indstillingen Kun dato). Brugere i tidszonen UTC-8 kan se dem i den modelbaserede app eller med en web-API-anmodning om den formaterede værdi:

Adfærd Format Vis værdi
Bruger lokal Dato og klokkeslæt 14. oktober 2023, 23:30
Brugerens lokalindstilling Kun dato 14. oktober 2023
Tidszoneuafhængig Dato og klokkeslæt 15. oktober 2023, 7:30
Tidszoneuafhængig Kun dato 15. oktober 2023
Kun dato - 15. oktober 2023

Angiv værdier i en app

Brugere i tidszonen UTC-8 angiver October 14th, 2023, 11:30 pm i en modelbaseret app. Værdien gemmes i Dataverse som:

Adfærd Format Værdi gemt i Dataverse
Bruger lokal Dato og klokkeslæt 2023-10-15T07:30:00Z
Brugers lokaltid Kun dato 2023-10-15T07:30:00Z
Tidszoneuafhængig Dato og klokkeslæt 2023-10-14T23:30:00Z
Tidszoneuafhængig Kun dato 2023-10-14T23:30:00Z
Kun dato - 2023-10-14

Hvis brugeren kun angiver datoen October 14th, 2023, antages klokkeslætdelen at være 12:00.

Adfærd Format Værdi gemt i Dataverse
Brugers lokaltid Kun dato 2023-10-14T08:00:00Z
Tidszoneuafhængig Kun dato 2023-10-14T00:00:00Z
Kun dato - 2023-10-14

Angiv ugyldige værdier i en app

Forskellige klienter kan håndtere ugyldigt input på forskellige måder. I tidszonen Pacific startede sommertid f.eks. den 12. marts 2023 kl. 2:00, hvor tiden flyttes en time frem til kl. 03:00. Tiden mellem 2:00 og 3:00 den pågældende dag findes ikke. Når brugere forsøger at angive en værdi i dette tidsinterval, kan apps gøre et af følgende:

  • Skifte til det forrige eller næste gyldige tidspunkt.
  • Genindlæse til den senest kendte værdi.
  • Vise en fejlmeddelelse.
  • Vis ikke klokkeslæt mellem kl. 2:00 og 3:00 i tidsvælgeren, så brugerne ikke kan vælge dem i første omgang.

På samme måde kan forskellige klienter håndtere gentagne tidsintervaller på forskellige måder. I tidszonen Pacific sluttede sommertid f.eks. den 5. november 2023 kl. 2:00, og tiden flyttes en time tilbage til kl. 13:00. Tiden mellem 1:00 og 2:00 den pågældende dag gentages to gange. Et tidspunkt som 1:30 kan referere til begge tidszoner. Hvis du har brug for at få vist eller angive tidspunkter i det pågælende interval entydigt, anbefales det, at du skifter til en tidszone, hvor der ikke bruges sommertid.

Hent rå værdier med web-API

Dataverse gemmer 2023-10-15T07:30:00Z (eller 2023-10-15 for indstillingen Kun dato). Brugere i alle tidszoner henter disse værdier med en web-API-anmodning for værdien:

Adfærd Format Rå værdi
Brugerens lokalindstilling Dato og klokkeslæt 2023-10-15T07:30:00Z
Brugerens lokalindstilling Kun dato 2023-10-15T07:30:00Z
Tidszoneuafhængig Dato og klokkeslæt 2023-10-15T07:30:00Z
Tidszoneuafhængig Kun dato 2023-10-15T07:30:00Z
Kun dato - 2023-10-15

Hent værdier med klient-API'en

Brugere i tidszonen UTC-8 angiver October 14th, 2023, 11:30 pm i en modelbaseret app. Funktioner i klient-API'en som formContext.getAttribute(<column name>).getValue() returnerer værdien, hvor tidszonetilpasninger er anvendt:

Adfærd Format Javascript dateValue.toUTCString()
Brugerens lokalindstilling Dato og klokkeslæt 2023-10-15 07:30 (UTC)
Brugerens lokalindstilling Kun dato 2023-10-15 07:30 (UTC)

I forbindelse med funktionsmåden Tidszoneuafhængig er værdien for JavaScript-datoen i browserens tidszone:

Adfærd Format Javascript dateValue.toString()
Tidszoneuafhængig Dato og klokkeslæt 2023-10-14 23:30 (tidszone i browseren)
Tidszoneuafhængig Kun dato 2023-10-14 23:30 (tidszone i browseren)

Datoværdier for JavaScript har altid en tidskomponent. Det er derfor, at funktionsmåden Kun dato har en tidskomponent på 12:00:

Adfærd Format Javascript dateValue.toString()
Kun dato - 2023-10-15 00:00 (tidszone i browseren)

Bemærk

Datoværdier for JavaScript påvirkes af browserens tidszone, som kommer fra enhedens indstillinger for operativsystemet.

I forbindelse med lokal funktionsmåde for bruger skal du fortolke resultatet af klient-API'en som en UTC-værdi. Brug Date.getUTCDate() eller Date.getUTCHours() til at arbejde med det. Du kan se, hvad brugeren kan se, ved at anvende getTimeZoneOffsetMinutes. Brug ikke Date.getDate() , eller Date.getHours() fordi disse funktioner viser værdien i browserens tidszone.

For funktionsmåden Tidszoneuafhængig og Kun dato skal du fortolke klient-API-resultatet som en værdi i browserens tidszone. Brug Date.getDate() eller Date.getHours() til at arbejde med det. Brug ikke Date.getUTCDate() , eller Date.getUTCHours() fordi du ikke behøver at justere for nogen tidszoner.

Ændre brugerens lokale adfærd

Medmindre udgiveren af en administreret løsning forhindrer ændring af den lokale funktionsmåde, kan du ændre funktionsmåden for eksisterende brugerdefinerede datokolonner fra Lokal bruger til Kun dato eller Tidszoneuafhængig. Dette er en enkeltstående ændring.

Ændring af funktionsmåden for kolonnen påvirker de kolonneværdier, der er tilføjet eller ændret, efter at funktionsmåden for kolonnen blev ændret. De eksisterende kolonneværdier forbliver i databasen i UTC-tidszoneformat. Hvis du vil ændre funktionsmåden for eksisterende kolonneværdier fra kun UTC til Kun dato, skal du måske have hjælp fra en udvikler til at konvertere funktionsmåden for eksisterende dato- og klokkeslætsværdier i databasen.

Advarsel!

Før du ændrer funktionsmåden for en eksisterende dato- og klokkeslætskolonne, skal du gennemse alle afhængigheder i kolonnen, f.eks. forretningsregler, arbejdsprocesser, beregnede kolonner eller akkumuleringskolonner, for at sikre, at der ikke er problemer som følge af ændring af funktionsmåden. Efter ændring af funktionsmåden for en dato- og klokkeslætskolonne skal du åbne hver forretningsregel, arbejdsproces, beregnet kolonne og akkumuleringskolonne, som du ændrer, gennemse oplysningerne og gemme posten for at sikre, at den seneste funktionsmåde og værdi for dato- og klokkeslætskolonnen anvendes.

Ændre funktionsmåde under import af en løsning

Når du importerer en løsning, der indeholder en datokolonne med brugeren lokalt, kan du ændre funktionsmåden til Kun dato eller Tidszoneuafhængig.

Bemærk

Du kan kun ændre funktionsmåden for en eksisterende administreret kolonne af typen Kun dato eller Dato og klokkeslæt, hvis du er udgiver. Hvis du vil foretage en ændring af disse felter, skal der foretages en opgradering af den løsning,der tilføjede kolonnen af typen Kun dato eller Dato og klokkeslæt. Flere oplysninger: Opgradere eller opdatere en løsning

Forhindre ændring af funktionsmåden

Hvis du distribuerer en brugerdefineret datokolonne i en administreret løsning, kan du forhindre, at personer, der bruger din løsning, kan ændre funktionsmåden, ved at indstille den administrerede egenskab CanChangeDateTimeBehavior til False. Flere oplysninger: Angive administrerede egenskaber for kolonner

Forespørgselsoperatorer for dato og klokkeslæt understøttes ikke for funktionsmåden Kun dato

Følgende dato- og klokkeslætsrelaterede forespørgselsoperatorer gælder ikke for funktionsmåden Kun dato. Der opstår en ugyldig operatorundtagelsesfejl, når en af disse operatorer bruges i forespørgslen.

  • Ældre End X Minutter
  • Ældre end x timer
  • Sidste X timer
  • Næste X timer

Se også

Fejlfinding af problemer med dato og klokkeslæt i modelbaserede apps
Oprette og redigere kolonner
Definere beregnede kolonner for at automatisere manuelle beregninger
Kolonneadministrerede egenskaber
Administrerede egenskaber
Blog: Arbejde med tidszoner i Dataverse
Konfigurere funktionsmåden i og formatet for kolonnen Dato og klokkeslæt ved hjælp af kode