Sdílet prostřednictvím


Chování a formát sloupce data a času

V Microsoft Dataverse můžete určit, jak se uživatelům zobrazují hodnoty data a času a jak jsou upraveny pro časová pásma.

Pro sloupce data a času jsou k dispozici dvě možnosti.

  • Chování: Zda upravit hodnoty pro časová pásma.
  • Formát: Zda se má zobrazit časová část hodnoty.

Chování

Dataverse ukládá všechny hodnoty data a času v časovém pásmu UTC. Když vaše aplikace zobrazuje hodnoty nebo zpracovává hodnoty zadané uživateli, Dataverse a modelem řízené aplikace se mohou přizpůsobit časovému pásmu uživatele pomocí možností Chování.

  • Místní čas uživatele: upraví hodnoty dle časového pásma uživatele. Toto je výchozí chování. Můžete provést jednu změnu na jiné chování.
  • Nezávislý na časovém pásmu: Bez převodu časového pásma.
  • Pouze datum: Bez převodu časového pásma. Na rozdíl od položky Nezávislé na časovém pásmu není časová část uložena.

Je nastaveno časové pásmo uživatele v osobních možnostech, nikoli systémové časové pásmo ve Windows, Android, iOS nebo macOS. Nicméně, systémové časové pásmo může ovlivnit klientské skripty, které pracují s daty JavaScript.

Formát

Všechny sloupce data a času mají časovou část, pokud není jejich chování Pouze datum. Formát: určuje, zda se má zobrazit časová část hodnoty.

  • Datum a čas: Zobrazuje datum a čas hodnoty.
  • Pouze datum: Zobrazuje pouze datovou část hodnoty.

Poznámka

Uživatelé mohou stále změnit časovou část, pokud je Formát nastaven na Pouze datum. Například pomocí volání webového rozhraní API nebo pomocí ovládacího prvku, který má časovou část. Toto se liší od možnosti Pouze datum položky Chování, kde časová část není uložena vůbec.

Pokyny pro používání

Chování Nezávislý na časovém pásmumůžete použít, když nejsou požadovány informace o časovém pásmu, například při ubytování v hotelu. S tímto nastavením uvidí uživatelé ve všech časových pásmech stejnou hodnotu data a času.

Chování Pouze datum použijte, když nejsou požadovány informace o času dne a časovém pásmu, například narozeniny nebo výročí. S tímto nastavením uvidí uživatelé ve všech časových pásmech naprosto stejnou hodnotu data.

Chování Nezávislý na časovém pásmu s formátem Pouze datum je prakticky stejné jako chování Pouze datum. Pokud si nejste jisti, zda budete v budoucnu časovou část potřebovat, použijte první.

Příklady

Hodnoty zobrazení

Dataverse ukládá 2023-10-15T07:30:00Z (nebo 2023-10-15 pro chování Pouze datum). Uživatelé v časovém pásmu UTC-8 je uvidí v modelem řízené aplikaci nebo s požadavkem Web API na formátovanou hodnotu:

Chování Formát Hodnota zobrazení
Místní čas uživatele Datum a čas 14. října 2023, 23:30
Místní čas uživatele Pouze datum 14. října 2023
Nezávislé na časovém pásmu Datum a čas 15. října 2023, 7:30
Nezávislé na časovém pásmu Pouze datum 15. října 2023
Pouze datum - 15. října 2023

Zadejte hodnoty v aplikaci

Uživatelé v časovém pásmu UTC-8 zadají October 14th, 2023, 11:30 pm do modelem řízené aplikace. Hodnota je uložena v Dataverse jako:

Chování Formát Uložená hodnota v Dataverse
Místní čas uživatele Datum a čas 2023-10-15T07:30:00Z
Místní čas uživatele Pouze datum 2023-10-15T07:30:00Z
Nezávislé na časovém pásmu Datum a čas 2023-10-14T23:30:00Z
Nezávislé na časovém pásmu Pouze datum 2023-10-14T23:30:00Z
Pouze datum - 2023-10-14

Pokud uživatel zadá pouze datum October 14th, 2023, předpokládá se, že časová část je 24:00.

Chování Formát Uložená hodnota v Dataverse
Místní čas uživatele Pouze datum 2023-10-14T08:00:00Z
Nezávislé na časovém pásmu Pouze datum 2023-10-14T00:00:00Z
Pouze datum - 2023-10-14

Zadejte neplatné hodnoty v aplikaci

Různí klienti mají různé způsoby, jak zpracovat neplatný vstup. Například v tichomořském časovém pásmu začal letní čas 12. března 2023 ve 2:00 a čas se posunul o jednu hodinu dopředu na 3:00. Čas mezi 2:00 a 3:00 v daný den neexistuje. Když se uživatelé pokusí zadat hodnotu v tomto časovém rozsahu, aplikace mohou provést jednu z následujících akcí:

  • Změňte na předchozí nebo další platný čas.
  • Vrátit se k poslední známé hodnotě.
  • Zobrazit chybovou zprávu.
  • V nástroji pro výběr času nezobrazujte časy mezi 2:00 a 3:00, aby si je uživatelé nemohli vybrat.

Podobně mají různí klienti různé způsoby, jak nakládají s opakovanými časovými rozsahy. Například v tichomořském časovém pásmu skončil letní čas 5. listopadu 2023 ve 2:00 a čas se posunul o jednu hodinu zpět na 1:00. Čas mezi 1:00 a 2:00 se v daný den dvakrát opakuje. Čas jako 1:30 může odkazovat na obě časová pásma. Pokud potřebujete jednoznačně zobrazit nebo zadat časy v tomto rozsahu, je nejlepší dočasně přepnout na časové pásmo, které nepoužívá letní čas.

Získejte nezpracované hodnoty pomocí webového rozhraní API

Dataverse ukládá 2023-10-15T07:30:00Z (nebo 2023-10-15 pro chování Pouze datum). Uživatelé ve všech časových pásmech je získají s požadavkem webového rozhraní API na hodnotu:

Chování Formát Surová hodnota
Místní čas uživatele Datum a čas 2023-10-15T07:30:00Z
Místní čas uživatele Pouze datum 2023-10-15T07:30:00Z
Nezávislé na časovém pásmu Datum a čas 2023-10-15T07:30:00Z
Nezávislé na časovém pásmu Pouze datum 2023-10-15T07:30:00Z
Pouze datum - 2023-10-15

Získejte hodnoty pomocí rozhraní API klienta

Uživatelé v časovém pásmu UTC-8 zadají October 14th, 2023, 11:30 pm do modelem řízené aplikace. Funkce Klientského rozhraní API jako formContext.getAttribute(<column name>).getValue() vrací hodnotu s aplikovanými úpravami časového pásma:

Chování Formát JavaScript dateValue.toUTCString()
Místní čas uživatele Datum a čas 2023-10-15 07:30 (UTC)
Místní čas uživatele Pouze datum 2023-10-15 07:30 (UTC)

Pro chování Nezávislý na časovém pásmu je hodnota JavaScript Date v časovém pásmu prohlížeče:

Chování Formát JavaScript dateValue.toString()
Nezávislé na časovém pásmu Datum a čas 2023-10-14 23:30 (časové pásmo prohlížeče)
Nezávislé na časovém pásmu Pouze datum 2023-10-14 23:30 (časové pásmo prohlížeče)

Hodnoty data JavaScriptu mají vždy časovou složku. Proto má chování Pouze datum časovou složku 24:00:

Chování Formát JavaScript dateValue.toString()
Pouze datum - 2023-10-15 00:00 (časové pásmo prohlížeče)

Poznámka

Hodnoty data JavaScriptu jsou ovlivněny časovým pásmem prohlížeče, který pochází z nastavení operačního systému zařízení.

Pro chování Místní čas uživatele by měl být výsledek klientského rozhraní API interpretován jako hodnota UTC. Pro práci s ním použijte Date.getUTCDate(), Date.getUTCHours() atd. Chcete-li získat, co uživatel vidí, použijte getTimeZoneOffsetMinutes. Nepoužívejte Date.getDate(), Date.getHours() atd., protože ty zobrazí hodnotu v časovém pásmu prohlížeče.

Pro chování Nezávislý na časovém pásmu a Pouze datum by měl být výsledek klientského rozhraní API interpretován jako hodnota v časovém pásmu prohlížeče. Pro práci s ním použijte Date.getDate(), Date.getHours() atd. Nepoužívejte Date.getUTCDate(), Date.getUTCHours() a tak dále, protože se nemusíte přizpůsobovat žádným časovým pásmům.

Změna chování místního času uživatele

Pokud tomu vydavatel spravovaného řešení nebrání, můžete změnit chování existujících vlastních sloupců data z Místní čas uživatele na Pouze datum nebo Nezávislý na časovém pásmu. Jedná se o jednorázovou změnu.

Změna chování sloupce ovlivní hodnoty sloupců, které jsou přidány nebo změněny poté, co bylo změněno chování sloupce. Existující hodnoty sloupce zůstanou v databázi ve formátu časového pásma standardu UTC. Chcete-li změnit chování stávajících hodnot sloupců z UTC na Pouze datum, možná budete potřebovat pomoc vývojáře, aby převedl chování existujících hodnot data a času v databázi.

Upozornění

Dříve, než změníte chování existujícího sloupce Datum a čas, byste měli zkontrolovat všechny závislosti tohoto sloupce, například obchodní pravidla, pracovní postupy a počítané nebo souhrnné sloupce, abyste se ujistili, že při změně chování nedojde k žádným problémům. Po změně chování sloupce Datum a čas otevřete každé obchodní pravidlo, pracovní postup, počítané nebo souhrnné sloupce, které jsou závislé na sloupci, který jste změnili, zkontrolovat informace a uložit je, aby byly používány nejnovější hodnoty a chování sloupce Datum a čas.

Změna chování během importu řešení

Při importu řešení, které obsahuje sloupec Datum s chováním Místní čas uživatele můžete změnit chování na Pouze datum nebo Nezávislý na časovém pásmu.

Poznámka

Chování existujícího spravovaného sloupce Pouze datum nebo Datum a čas můžete změnit pouze v případě, že jste vydavatel. Chcete-li provést změnu v těchto polích, je třeba provést upgrade řešení, které přidalo sloupec Pouze datum nebo Datum a čas. Další informace: Upgrade nebo aktualizace řešení

Zabránit změně chování

Při distribuci vlastního datového sloupce ve spravovaném řešení, můžete zabránit uživatelům používajícím vaše řešení ve změně chování nastavením spravované vlastnosti CanChangeDateTimeBehavior na False. Další informace: Nastavení spravovaných vlastností pro sloupce

Operátory dotazu datum a čas nejsou podporovány pro chování Pouze datum

Následující související operátory dotazu datum a čas jsou pro chování Pouze datum neplatné. Neplatný operátor vyvolá výjimku, je-li jeden z těchto operátorů použit v dotazu.

  • Starší než X minut
  • Starší než X hodin
  • Posledních X hodin
  • Příštích X hodin

Viz také

Řešení problémů s datem a časem v aplikacích řízených modelem
Vytváření a úprava sloupců
Definování počítaných sloupců pro automatizaci ručních výpočtů
Spravované vlastnosti sloupce
Spravované vlastnosti
Blog: Práce s časovými pásmy v Dataverse
Konfigurace chování a formát sloupce data a času pomocí kódu

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).