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.

Naast de standaardeigenschappen die beschikbaar zijn voor de meeste kolommen, datum- en tijdkolommen, zijn er twee extra eigenschappen:

  • Aanpassing van tijdzone: Hiermee bepaalt u of u waarden voor tijdzones wilt aanpassen.
  • Indeling: geeft aan of het tijdgedeelte van de waarde moet worden weergegeven.

Aanpassing van tijdzone

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 voor de notatie Datum en tijd. U kunt dit eenmaal wijzigen in een ander gedrag.
  • Tijdzone-onafhankelijke: geen tijdzoneconversie. Dit is het standaardgedrag voor de notatie Alleen datum.

Stel de tijdzone van de gebruiker in 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 bevatten een tijdgedeelte, tenzij hun instelling Alleen datum is. Indeling: bepaalt 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.

Opmerking

Gebruikers kunnen het tijdgedeelte nog steeds wijzigen als Indeling de waarde Alleen datum heeft. Bijvoorbeeld door web-API-aanroepen te gebruiken of met behulp van een besturingselement dat het tijdgedeelte bevat. Dit gedrag verschilt van Alleen-datumgedrag, waarbij het tijdgedeelte helemaal niet wordt opgeslagen.

Gebruiksrichtlijnen

Gebruik tijdzoneonafhankelijk wanneer tijdzone-informatie niet is vereist, zoals hotelchecktijden. Met deze selectie krijgen gebruikers in alle tijdzones dezelfde datum- en tijdwaarde te zien.

Gebruik alleen datum wanneer informatie over de tijd van de dag en de tijdzone niet vereist is, zoals verjaardagen of jubilea. Met deze selectie krijgen gebruikers in alle tijdzones exact dezelfde datumwaarde te zien.

Tijdzoneonafhankelijk met Alleen Datum is vrijwel hetzelfde als het instellen van de kolom als 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 de 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 opgemaakte 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 Tijdzone Pacific is zomertijd bijvoorbeeld gestart op 12 maart 2023 om 2:00 uur, waardoor de tijd één uur vooruit wordt verplaatst naar 3: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 Tijdzone Pacific is de zomertijd bijvoorbeeld beëindigd op 5 november 2023 om 2:00 uur, waardoor de tijd één uur achteruit wordt verplaatst naar 1: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 waarden 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)

Opmerking

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

Voor lokaal gedrag van de gebruiker interpreteert u het resultaat van de client-API als een UTC-waarde. Gebruik Date.getUTCDate() of Date.getUTCHours() om ermee te werken. Als u wilt zien wat de gebruiker ziet, past u getTimeZoneOffsetMinutes toe. Gebruik deze functies niet Date.getDate() of Date.getHours() omdat deze functies de waarde in de tijdzone van de browser weergeven.

Interpreteer het resultaat van de client-API als een waarde in de tijdzone van de browser voor Tijdzone-onafhankelijk en Datum-alleen-gedrag. Gebruik Date.getDate() of Date.getHours() en werk ermee. Gebruik dit niet Date.getUTCDate() of Date.getUTCHours() omdat u zich niet hoeft aan te passen voor tijdzones.

Gedrag van gebruikersinstelling wijzigen

Tenzij de uitgever van een beheerde oplossing voorkomt dat het lokale gedrag wordt gewijzigd, kunt u het gedrag van bestaande aangepaste datumkolommen wijzigen van alleen lokaal gebruiker in 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 wijzigt, controleert u alle afhankelijkheden van de kolom, zoals bedrijfsregels, werkstromen, berekende kolommen of samengetelde kolommen, om ervoor te zorgen dat er geen problemen zijn als gevolg 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 bevat met Lokaal gebruiker, kunt u het gedrag wijzigen naar Alleen datum of Tijdzone-onafhankelijk.

Opmerking

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 en bewerken
Berekende kolommen definiëren om handmatige berekeningen te automatiseren
Beheerde eigenschappen van kolom
Beheerde eigenschappen
Blog: Werken met tijdzones in Dataverse
Het gedrag en de indeling van de datum- en tijdkolom configureren via code