Delen via


Gedrag en indeling van de datum- en tijdkolom

In Microsoft Dataverse kunt u opgeven hoe datum- en tijdwaarden aan gebruikers worden getoond en hoe ze worden aangepast voor tijdzones.

Er zijn twee opties beschikbaar voor datum- en tijdkolommen.

  • Gedrag: geeft aan of waarden voor tijdzones moeten worden aangepast.
  • Indeling: geeft aan of het tijdgedeelte van de waarde moet worden weergegeven.

Gedrag

Dataverse slaat alle datum- en tijdwaarden op in de UTC-tijdzone. Wanneer uw app waarden weergeeft of door gebruikers ingevoerde waarden verwerkt, kunnen Dataverse en modelgestuurde apps zich hiermee aanpassen aan de tijdzone van de gebruiker met deze opties van het type Gedrag.

  • Gebruikersinstelling: hiermee past u waarden aan de tijdzone van de gebruiker aan. Dit is het standaardgedrag. U kunt dit eenmaal wijzigen in een ander gedrag.
  • Tijdzone-onafhankelijke: geen tijdzoneconversie.
  • Alleen datum: geen tijdzoneconversie In tegenstelling tot bij Tijdzone-onafhankelijk, wordt het tijdgedeelte niet opgeslagen.

De tijdzone van de gebruiker is ingesteld in persoonlijke opties, niet de systeemtijdzone in Windows, Android, iOS of macOS. Echter, de systeemtijdzone kan van invloed zijn op clientscripts die werken met JavaScript-datums.

Indeling

Alle datum- en tijdkolommen hebben een tijdgedeelte, tenzij het gedrag ervan Alleen datum is. Indeling: beaalt of het tijdgedeelte van de waarde moet worden weergegeven.

  • Datum en tijd: geeft de datum en tijd van de waarde weer.
  • Alleen datum: geeft alleen het datumgedeelte waarde weer.

Notitie

Gebruikers kunnen het tijdgedeelte nog steeds wijzigen als Indeling de waarde Alleen datum heeft. Bijvoorbeeld met Web API-aanroepen of door een besturingselement te gebruiken dat het tijdgedeelte bevat. Dit is anders dan bij de waarde Alleen datum voor Gedrag, waarbij het tijdgedeelte helemaal niet wordt opgeslagen.

Gebruiksrichtlijnen

Gebruik gedrag van het type Tijdzone-onafhankelijk als tijdzonegegevens niet nodig zijn, zoals bij de inchecktijden van een hotel. Met deze selectie krijgen gebruikers in alle tijdzones dezelfde datum- en tijdwaarde te zien.

Gebruik gedrag Alleen datum in gevallen waarin informatie over de tijd van de dag en de tijdzone niet nodig is, zoals bij verjaardagen en jubilea. Met deze selectie krijgen gebruikers in alle tijdzones exact dezelfde datumwaarde te zien.

Gedrag Tijdzone-onafhankelijk met indeling Alleen datum is vrijwel hetzelfde als gedrag Alleen datum. Gebruik de eerste optie als u niet zeker weet of u het tijdgedeelte in de toekomst nodig hebt.

Belangrijk

Vermijd de indeling Alleen datum met het gedrag Gebruikersinstelling. Gebruikers in verschillende tijdzones zien mogelijk een andere datum, wat in de meeste scenario's niet de bedoeling is. Wanneer een gebruiker een datum instelt in een modelgestuurde app, wordt het tijdgedeelte automatisch ingesteld op middernacht van zijn of haar tijdzone. Hierdoor kan de datum voor andere gebruikers een dag eerder of later verschijnen.

Voorbeelden

Waarden weergeven

Dataverse slaat 2023-10-15T07:30:00Z (of 2023-10-15 voor gedrag Alleen datum) op. Gebruikers in de tijdzone UTC-8 zien deze in de modelgestuurde app of met een Web API-aanvraag voor de geformatteerde waarde:

Gedrag Indeling Waarde weergeven
Gebruikersinstelling Datum en tijd 14 oktober 2023, 23:30 uur
Gebruikersinstelling Alleen datum 14 oktober 2023
Tijdzone-onafhankelijk Datum en tijd 15 oktober 2023, 7:30 uur
Tijdzone-onafhankelijk Alleen datum 15 oktober 2023
Alleen datum - 15 oktober 2023

Waarden invoeren een app in

Gebruikers in de tijdzone UTC-8 voeren October 14th, 2023, 11:30 pm in een modelgestuurde app in. De waarde wordt in Dataverse opgeslagen als:

Gedrag Indeling Waarde opgeslagen in Dataverse
Gebruikersinstelling Datum en tijd 2023-10-15T07:30:00Z
Gebruikersinstelling Alleen datum 2023-10-15T07:30:00Z
Tijdzone-onafhankelijk Datum en tijd 2023-10-14T23:30:00Z
Tijdzone-onafhankelijk Alleen datum 2023-10-14T23:30:00Z
Alleen datum - 2023-10-14

Als de gebruiker alleen de datum October 14th, 2023 invoert, wordt aangenomen dat het tijdgedeelte 00:00 uur is.

Gedrag Indeling Waarde opgeslagen in Dataverse
Gebruikersinstelling Alleen datum 2023-10-14T08:00:00Z
Tijdzone-onafhankelijk Alleen datum 2023-10-14T00:00:00Z
Alleen datum - 2023-10-14

Ongeldige waarden invoeren een app in

Verschillende clients hebben verschillende manieren om met ongeldige invoer om te gaan. In de Pacific-tijdzone begon de zomertijd bijvoorbeeld op 12 maart 2023 om 02:00 uur, waardoor de tijd één uur vooruit werd gezet naar 03:00 uur. De tijd tussen 02.00 uur en 03.00 uur op die dag bestaat niet. Wanneer gebruikers binnen dat tijdsbereik een waarde proberen in te voeren, kunnen apps een van de volgende handelingen uitvoeren:

  • Overschakelen naar de vorige of volgende geldige tijd.
  • Terugkeren naar de laatst bekende waarde.
  • Een foutbericht tonen.
  • Geen tijden tussen 02:00 uur en 03:00 uur weergeven in de tijdkiezer, zodat gebruikers deze überhaupt niet kunnen selecteren.

Op dezelfde manier hebben verschillende klanten verschillende manieren om met herhaalde tijdsbereiken om te gaan. In de Pacific-tijdzone eindigde de zomertijd bijvoorbeeld op 5 november 2023 om 02:00 uur, waardoor de tijd één uur terug werd gezet naar 01:00 uur. De tijd tussen 01:00 uur en 02:00 uur op die dag wordt tweemaal herhaald. Een tijd als 01:30 uur kan naar beide tijdzones verwijzen. Als u tijden binnen dat bereik ondubbelzinnig wilt weergeven of invoeren, kunt u het beste tijdelijk overschakelen naar een tijdzone waarbij geen gebruik wordt gemaakt van zomertijd.

Onbewerkte waarden ophalen met web-API

Dataverse slaat 2023-10-15T07:30:00Z (of 2023-10-15 voor gedrag Alleen datum) op. Gebruikers in alle tijdzones krijgen deze met een Web API-aanvraag voor de waarde:

Gedrag Indeling Onbewerkte waarde
Gebruikersinstelling Datum en tijd 2023-10-15T07:30:00Z
Gebruikersinstelling Alleen datum 2023-10-15T07:30:00Z
Tijdzone-onafhankelijk Datum en tijd 2023-10-15T07:30:00Z
Tijdzone-onafhankelijk Alleen datum 2023-10-15T07:30:00Z
Alleen datum - 2023-10-15

Waarden ophalen met client-API

Gebruikers in de tijdzone UTC-8 voeren October 14th, 2023, 11:30 pm in een modelgestuurde app in. Client-API-functies zoals formContext.getAttribute(<column name>).getValue() retourneren de waarde met toegepaste aanpassingen voor de tijdzone:

Gedrag Indeling JavaScript dateValue.toUTCString()
Gebruikersinstelling Datum en tijd 2023-10-15 07:30 (UTC)
Gebruikersinstelling Alleen datum 2023-10-15 07:30 (UTC)

Voor gedrag Tijdzone-onafhankelijk bevindt de JavaScript-datumwaarde zich in de tijdzone van de browser:

Gedrag Indeling JavaScript dateValue.toString()
Tijdzone-onafhankelijk Datum en tijd 2023-10-14 23:30 (browsertijdzone)
Tijdzone-onafhankelijk Alleen datum 2023-10-14 23:30 (browsertijdzone)

JavaScript-datumwaarden hebben altijd een tijdcomponent. Daarom heeft gedrag Alleen datum een tijdcomponent van 00:00 uur:

Gedrag Indeling JavaScript dateValue.toString()
Alleen datum - 2023-10-15 00:00 (browsertijdzone)

Notitie

JavaScript-datumwaarden worden beïnvloed door de tijdzone van de browser, die afkomstig is van de instellingen van het besturingssysteem van het apparaat.

Voor gedrag Gebruikersinstelling moet het client-API-resultaat worden geïnterpreteerd als een UTC-waarde. Gebruik Date.getUTCDate(), Date.getUTCHours() enz. om ermee te werken. Als u wilt zien wat de gebruiker ziet, past u getTimeZoneOffsetMinutes toe. Maak geen gebruik van Date.getDate(), Date.getHours() enz. omdat deze de waarde in de tijdzone van de browser tonen.

Voor gedrag Tijdzone-onafhankelijk en Alleen datum moet het client-API-resultaat worden geïnterpreteerd als een waarde in de tijdzone van de browser. Gebruik Date.getDate(), Date.getHours() enz. om ermee te werken. Maak geen gebruik van Date.getUTCDate(), Date.getUTCHours() enz., omdat u zich niet hoeft aan te passen aan tijdzones.

Gedrag van gebruikersinstelling wijzigen

Tenzij de uitgever van een beheerde oplossing dit verhindert, kunt u het gedrag van bestaande aangepaste datumkolommen veranderen van Gebruikersinstelling in Alleen datum of Tijdzone-onafhankelijk. Dit is een eenmalige wijziging.

Als het kolomgedrag wordt gewijzigd, veranderen de kolomwaarden die worden toegevoegd of gewijzigd na aanpassing van het kolomgedrag. De bestaande kolomwaarden blijven in de database in de UTC-tijdzone-indeling. Als u het gedrag van de bestaande kolomwaarden wilt wijzigen van UTC naar Alleen datum, hebt u mogelijk de hulp van een ontwikkelaar nodig om het gedrag van de bestaande datum en tijdwaarden in de database om te zetten.

Waarschuwing

Voordat u het gedrag van een bestaande datum- en tijdkolom gaat wijzigen, dient u alle afhankelijkheden van de kolom, zoals bedrijfsregels, werkstromen en berekende kolommen of samengetelde kolommen, te bekijken om er zeker van te zijn dat er geen problemen optreden ten gevolge van het wijzigen van het gedrag. Nadat u het gedrag van een datum- en tijdkolom hebt gewijzigd, dient u minimaal elke record voor een bedrijfsregel, werkstroom, berekende kolom of samengetelde kolom die afhankelijk is van de gewijzigde kolom te openen, de informatie te bekijken en deze op te slaan om er zeker van te zijn dat het meest recente gedrag van de datum- en tijdkolom en de meest recente kenmerkwaarde worden gebruikt.

Het gedrag tijdens het importeren van een oplossing wijzigen

Wanneer u een oplossing importeert die een datumkolom met het gedrag Gebruikersinstelling bevat, kunt u het gedrag wijzigen in Alleen datum of Tijdzone-onafhankelijk.

Notitie

U kunt het gedrag van een bestaande beheerde kolom Alleen datum of Datum en tijd alleen wijzigen als u de uitgever bent. Om deze velden te wijzigen, moet een upgrade worden uitgevoerd naar de oplossing die de kolom Alleen datum of Datum en tijd heeft toegevoegd. Meer informatie: Een oplossing upgraden of bijwerken

Wijziging van gedrag voorkomen

Als u een aangepaste datumkolom in een beheerde oplossing distribueert, kunt u voorkomen dat personen die uw oplossing gebruiken het gedrag wijzigen door de beheerde eigenschap CanChangeDateTimeBehavior in te stellen op Onwaar. Meer informatie: Beheerde eigenschappen voor kolommen instellen

Queryoperators voor datum en tijd worden niet ondersteund voor het gedrag Alleen datum

De volgende aan datum en tijd gerelateerde queryoperators zijn ongeldig voor het gedrag Alleen datum. Er treedt een fout door een uitzondering vanwege een ongeldige operator op als een van deze operators wordt gebruikt in de query.

  • Ouder dan X minuten
  • Ouder dan X uur
  • Laatste X uren
  • Volgende X uur

Zie ook

Problemen met datum en tijd oplossen in modelgestuurde apps
Kolommen maken of bewerken
Berekende kolommen definiëren om handmatige berekeningen te automatiseren
Beheerde eigenschappen van kolom
Beheerde eigenschappen
Blog: Werken met tijdzones in de Dataverse
Het gedrag en de indeling van de datum- en tijdkolom configureren via code

Notitie

Laat ons uw taalvoorkeuren voor documentatie weten! Beantwoord een korte enquête. (houd er rekening mee dat deze in het Engels is)

De enquête duurt ongeveer zeven minuten. Er worden geen persoonlijke gegevens verzameld (privacyverklaring).