Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Kromě standardních vlastností dostupných u většiny sloupců mají sloupce data a času dvě další vlastnosti:
- Úprava časového pásma: Určuje, zda se mají upravit hodnoty pro časová pásma.
- Formát: Zda se má zobrazit časová část hodnoty.
Úprava časového pásma
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í pro formát Datum a čas. 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. Toto je výchozí chování pro formát Pouze datum.
Nastavte časové pásmo uživatele v osobních možnostech, nikoli časové pásmo systému ve Windows, Androidu, iOSu 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 chování se liší od chovánípouze data, kdy není uložena vůbec časová část.
Pokyny k používání
Použijte Nezávislé na časovém pásmu, když nejsou vyžadovány informace o časovém pásmu, například u časů přihlášení do hotelu. S tímto nastavením uvidí uživatelé ve všech časových pásmech stejnou hodnotu data a času.
Datum použijte jenom v případě, že nejsou vyžadovány informace o čase 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.
Časové pásmo nezávislé pouze s datem je prakticky stejné jako nastavení sloupce jako Pouze datum. Pokud si nejste jisti, zda budete v budoucnu časovou část potřebovat, použijte první.
Důležité
Vyhněte se formátu Pouze datum s chováním Místní čas uživatele. Uživatelé v různých časových pásmech mohou vidět jiné datum, což ve většině scénářů není zamýšleno. Když uživatel nastaví datum v modelem řízené aplikaci, časová část se automaticky nastaví na půlnoc svého časového pásma. To může způsobit, že se ostatním uživatelům zobrazí datum o den dříve nebo později.
Examples
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:
| Behavior | 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:
| Behavior | 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.
| Behavior | 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 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čilo letní čas 5. listopadu 2023 v 2:00, což posune čas zpět o hodinu do 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 získají tyto hodnoty s požadavkem webového rozhraní API pro hodnotu:
| Behavior | 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:
| Behavior | 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:
| Behavior | 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:
| Behavior | 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í.
V případě místního chování uživatele interpretujte výsledek klientského rozhraní API jako hodnotu UTC. Použijte Date.getUTCDate() nebo Date.getUTCHours() k práci s ním. Chcete-li získat, co uživatel vidí, použijte getTimeZoneOffsetMinutes. Nepoužívejte Date.getDate() nebo Date.getHours() protože tyto funkce zobrazují hodnotu v časovém pásmu prohlížeče.
V případě chování nezávislé na časovém pásmu a pouze datum interpretujte výsledek rozhraní API klienta jako hodnotu v časovém pásmu prohlížeče. Použijte Date.getDate() nebo Date.getHours() k práci s ním. Nepoužívejte Date.getUTCDate() ani Date.getUTCHours(), protože nemusíte upravovat na žádná časová pásma.
Změna chování místního času uživatele
Pokud vydavatel spravovaného řešení nebrání změně místního chování, můžete změnit chování existujících vlastních sloupců kalendářních dat z místního uživatele na pouze datum nebo časové pásmo nezávislé. 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.
Výstraha
Před změnou chování existujícího sloupce data a času zkontrolujte všechny závislosti sloupce, jako jsou obchodní pravidla, pracovní postupy, počítané sloupce nebo souhrnné sloupce, a ujistěte se, že v důsledku změny chování nedošlo 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 místním uživatelem, můžete změnit chování na Datum pouze nebo časové pásmo nezávislé.
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