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