Virkemåte og format for kolonnen Dato og klokkeslett

I Microsoft Dataverse kan du angi hvordan dato- og klokkeslettverdier skal vises til brukere, og hvordan de justeres for tidssoner.

I tillegg til standardegenskapene som er tilgjengelige med de fleste kolonner, har kolonnene dato og klokkeslett to ekstra egenskaper:

  • Tidssonejustering: Om du vil justere verdier for tidssoner.
  • Format: Angir om klokkeslettdelen av verdien skal vises.

Tidssonejustering

Dataverse lagrer alle dato- og klokkeslettverdier i UTC-tidssonen. Når appen viser verdier eller behandler verdier som er angitt av brukere, kan Dataverse og modelldrevne apper justere etter brukerens tidssone med disse Virkemåte-alternativene.

  • Brukerlokal: Justerer verdier for brukerens tidssone. Dette er standard funksjonalitet for formatet Dato og klokkeslett. Du kan endre dette én gang til en annen virkemåte.
  • Tidssoneuavhengig: Ingen tidssonekonvertering. Dette er standard funksjonalitet for formatet Bare dato.

Angi brukerens tidssone i personlige alternativer, ikke systemtidssonen i Windows, Android, iOS eller macOS. Imidlertid kan systemtidssonen påvirke klientskript som fungerer med JavaScript-datoer.

Format

Alle dato- og klokkeslettkolonner har en tidsdel med mindre virkemåten er Bare dato. Format: angir om klokkeslettdelen av verdien skal vises.

  • Dato og klokkeslett: Viser datoen og klokkeslettet for verdien.
  • Bare dato: Viser bare datodelen av verdien.

Notat

Brukere kan fremdeles endre klokkeslettdelen hvis Format er Bare dato. Du kan for eksempel bruke web-API-kall eller ved å bruke en kontroll som har tidsdelen. Denne virkemåten er forskjellig fra bare virkemåte for dato, der tidsdelen ikke er lagret i det hele tatt.

Retningslinjer for bruk

Bruk tidssone uavhengig når tidssoneinformasjon ikke er nødvendig, for eksempel hotellinnsjekkingstider. Med dette valget vil brukere i alle tidssoner se samme dato og klokkeslett-verdi.

Bruk bare dato når informasjon om klokkeslettet og tidssonen ikke er nødvendig, for eksempel fødselsdager eller merkedager. Med dette valget vil brukere i alle tidssoner se nøyaktig samme datoverdi.

Tidssone uavhengig med Bare dato er praktisk talt det samme som å angi kolonnen som bare dato. Bruk det forrige hvis du ikke er sikker på om du trenger tidsdelen senere.

Viktig!

Unngå formatet Bare dato med virkemåten Brukerlokal. Brukere i ulike tidssoner kan se en annen dato, noe som ikke er tiltenkt i de fleste scenarioer. Når en bruker angir en dato i en modelldrevet app, settes tidsdelen automatisk til midnatt for tidssonen. Dette kan føre til at datoen vises en dag tidligere eller senere for andre brukere.

Eksempler

Vise verdier

Dataverse lagrer 2023-10-15T07:30:00Z (eller 2023-10-15 for Bare dato-virkemåten). Brukere i tidssonen UTC-8 ser disse i den modelldrevne appen eller med en web-API-forespørsel for den formaterte verdien:

Virkemåte Format Vise verdi
Brukers lokale innstillinger Dato og klokkeslett 14. oktober 2023 kl. 23:30
Brukerlokal Bare dato 14. oktober 2023
Tidssoneuavhengig Dato og klokkeslett 15. oktober 2023, 07:30
Tidssoneuavhengig Bare dato 15. oktober 2023
Bare dato - 15. oktober 2023

Angi verdier i en app

Brukere i tidssonen UTC-8 angir October 14th, 2023, 11:30 pm i en modelldrevet app. Denne verdien er lagret i Dataverse som:

Virkemåte Format Verdi lagret i Dataverse
Brukerspesifikk lokasjon Dato og klokkeslett 2023-10-15T07:30:00Z
Bruker lokalt Bare dato 2023-10-15T07:30:00Z
Tidssoneuavhengig Dato og klokkeslett 2023-10-14T23:30:00Z
Tidssoneuavhengig Bare dato 2023-10-14T23:30:00Z
Bare dato - 2023-10-14

Hvis brukeren bare angir datoen October 14th, 2023, antas det at klokkeslettdelen er 12:00.

Virkemåte Format Verdi lagret i Dataverse
Bruker lokale Bare dato 2023-10-14T08:00:00Z
Tidssoneuavhengig Bare dato 2023-10-14T00:00:00Z
Bare dato - 2023-10-14

Angi ugyldige verdier i en app

Forskjellige klienter kan håndtere ugyldige inndata på forskjellige måter. Sommertid startet for eksempel 12. mars 2023 klokken 02:00, og flyttet tiden fremover én time til 03:00. Klokkeslettet mellom 02:00 og 03:00 den dagen finnes ikke. Når brukere prøver å angi en verdi i det tidsintervallet, kan apper gjøre ett av følgende:

  • Endre til forrige eller neste gyldige klokkeslett.
  • Gå tilbake til den sist kjente verdien.
  • Vis en feilmelding.
  • Ikke vis klokkeslett mellom 02:00 og 03:00 i klokkeslettvelgeren, slik at brukerne ikke kan velge dem i utgangspunktet.

Ulike klienter har likeledes ulike måter å håndtere gjentatte tidsintervaller på. I tidssonen for Stillehavet ble for eksempel sommertid avsluttet 5. november 2023 klokken 02:00, og flyttet tiden bakover én time til 01:00. Klokkeslettet mellom 01:00 og 02:00 den dagen gjentas to ganger. Et tidspunkt som 01:30 kan henvise til enhver av tidssonene. Hvis du utvetydig må vise eller angi klokkeslett i dette intervallet, er det best å bytte midlertidig til en tidssone som ikke bruker sommertid.

Hente råverdier med web-API

Dataverse lagrer 2023-10-15T07:30:00Z (eller 2023-10-15 for Bare dato-virkemåten). Brukere i alle tidssoner får disse verdiene med en web-API-forespørsel om verdien:

Virkemåte Format Råverdi
Lokal bruker Dato og klokkeslett 2023-10-15T07:30:00Z
Brukerens lokale Bare dato 2023-10-15T07:30:00Z
Tidssoneuavhengig Dato og klokkeslett 2023-10-15T07:30:00Z
Tidssoneuavhengig Bare dato 2023-10-15T07:30:00Z
Bare dato - 2023-10-15

Få verdier med klient-API

Brukere i tidssonen UTC-8 angir October 14th, 2023, 11:30 pm i en modelldrevet app. Klient-API-funksjoner som formContext.getAttribute(<column name>).getValue() returnerer verdien med tidssonejusteringer:

Virkemåte Format Javascript dateValue.toUTCString()
Brukerspesifikk lokal Dato og klokkeslett 2023-10-15 07:30 (UTC)
Brukerspesifikk lokal Bare dato 2023-10-15 07:30 (UTC)

For Tidssoneuavhengig virkemåte finnes JavaScript-datoverdien i webleserens tidssone:

Virkemåte Format Javascript dateValue.toString()
Tidssoneuavhengig Dato og klokkeslett 2023-10-14 23:30 (tidssone for nettleser)
Tidssoneuavhengig Bare dato 2023-10-14 23:30 (tidssone for nettleser)

JavaScript-datoverdier har alltid en tidskomponent. Derfor har virkemåten Bare dato en klokkeslettkomponent på 12:00:

Virkemåte Format Javascript dateValue.toString()
Bare dato - 2023-10-15 00:00 (tidssone for nettleser)

Notat

JavaScript-datoverdier påvirkes av webleserens tidssone, som kommer fra innstillingene for operativsystemet på enheten.

For lokal brukervirkemåte tolker du klient-API-resultatet som en UTC-verdi. Bruk Date.getUTCDate() eller Date.getUTCHours() til å arbeide med det. For å få det brukeren ser, bruk getTimeZoneOffsetMinutes. Ikke bruk Date.getDate() eller Date.getHours() fordi disse funksjonene viser verdien i nettleserens tidssone.

For virkemåte for tidssone uavhengig og bare dato tolker du klient-API-resultatet som en verdi i nettleserens tidssone. Bruk Date.getDate() eller Date.getHours() til å arbeide med det. Ikke bruk Date.getUTCDate() eller Date.getUTCHours() fordi du ikke trenger å justere for noen tidssoner.

Endre brukerlokal virkemåte

Med mindre utgiveren av en administrert løsning hindrer endring av den lokale virkemåten, kan du endre virkemåten til eksisterende egendefinerte datokolonner fra bare lokal bruker til dato eller tidssone uavhengig. Dette er en engangsendring.

Endringen av kolonnens virkemåte påvirker kolonneverdiene som er lagt til eller endret etter at kolonnens virkemåte ble endret. De eksisterende kolonneverdiene forblir i databasen i UTC-tidssoneformatet. Hvis du vil endre virkemåten for verdiene i de eksisterende kolonnene fra UTC til Bare dato, kan det hende at du trenger hjelp av en utvikler til å konvertere funksjonaliteten til eksisterende dato- og klokkeslettverdier i databasen.

Advarsel!

Før du endrer virkemåten til en eksisterende dato- og klokkeslettkolonne, kan du se gjennom alle avhengighetene til kolonnen, for eksempel forretningsregler, arbeidsflyter, beregnede kolonner eller kolonner for beregnet verdi, for å sikre at det ikke er noen problemer som følge av å endre virkemåten. Når du har endret virkemåten til en kolonne for dato og klokkeslett, åpner du hver forretningsregel, arbeidsflyt, beregnet kolonne og kolonne for beregnet verdi som er avhengig av kolonnen du endret, se gjennom informasjonen, og lagre den for å sikre at det er den nyeste virkemåten og verdien for dato og klokkeslett-kolonne, som brukes.

Endre virkemåte under en løsningsimport

Når du importerer en løsning som inneholder en datokolonne med lokal bruker, kan du endre virkemåten til bare dato eller tidssone uavhengig.

Notat

Du kan bare endre funksjonaliteten til en eksisterende administrert Bare dato- Dato og klokkeslett-kolonne hvis du er utgiver. Hvis du vil gjøre en endring i disse feltene, må du utføre en oppgradering til løsningen som la til kolonnen Bare dato eller Dato og klokkeslett. Mer informasjon: Oppgradere eller oppdatere en løsning

Hindre endring av virkemåte

Hvis du distribuerer en egendefinert datokolonne i en administrert løsning, hindrer du personer som bruker løsningen, fra å endre virkemåten ved å sette den administrerte egenskapen CanChangeDateTimeBehavior til Usann. Mer informasjon: Angi forvaltede egenskaper for kolonner

Spørringsoperatorer for dato og klokkeslettet støttes ikke for virkemåten Bare dato

Følgende dato- og klokkeslettrelaterte spørringsoperatorer er ugyldige for virkemåten Bare dato. Det oppstår en feil med ugyldig operator når en av disse operatorene brukes i spørringen.

  • Eldre enn X minutter
  • Eldre enn X timer
  • Siste X timer
  • Neste X timer

Se også

Feilsøk dato- og klokkeslettproblemer i modelldrevne apper
Opprette og redigere kolonner
Definer beregnede kolonner for å automatisere manuelle beregninger
Kolonneadministrerte egenskaper
Forvaltede egenskaper
Blogg: Arbeide med tidssoner i Dataverse
Konfigurer virkemåte og format for kolonnen Dato og klokkeslett med kode