Zachowanie oraz format kolumny daty i godziny

W Microsoft Dataverse można określić, w jaki sposób wartości daty i godziny są wyświetlane użytkownikom i jak są one dostosowywane do stref czasowych.

Dla kolumn daty i godziny dostępne są dwie opcje.

  • Zachowanie: Czy dostosowywać wartości stref czasowych.
  • Format: określa, czy ma być wyświetlana część wartości w czasie.

Zachowanie

Dataverse przechowuje wszystkie wartości daty i czasu w strefie czasowej UTC. Gdy aplikacja wyświetla wartości lub przetwarza wartości wprowadzone przez użytkowników, Dataverse i aplikacje oparte na modelach mogą dostosować się do strefy czasowej użytkownika za pomocą tych opcji Zachowanie.

  • Lokalnie dla użytkownika: Dostosowanie wartości do strefy czasowej użytkownika. To jest zachowanie domyślne. Możesz zmienić to zachowanie na inne.
  • Niezależna strefa czasowa: brak konwersji strefy czasowej.
  • Tylko data: brak konwersji strefy czasowej. W przeciwieństwie do Niezależna strefa czasowa, część czasowa nie jest przechowywana.

Strefa czasowa użytkownika jest ustawiana w opcje osobiste, a nie systemowa strefa czasowa w systemach Windows, Android, iOS lub macOS. Jednak systemowa strefa czasowa może mieć wpływ na skrypty klienta, które działają z datami JavaScript.

Formatuj

Wszystkie kolumny daty i godziny mają część czasową, chyba że ich zachowanie to Tylko data. Format: określa, czy ma być wyświetlana część wartości w czasie.

  • Data i godzina: wyświetla datę i godzinę wartości.
  • Tylko data: Wyświetla tylko część daty wartości.

Uwaga

Użytkownicy mogą nadal zmieniać część godziny, jeśli Format jest Tylko data. Na przykład za pomocą wywołań Web API lub za pomocą kontrolki zawierającej część czasową. Różni się to od zachowania Tylko data, gdzie część dotycząca czasu nie jest w ogóle przechowywana.

Wytyczne dotyczące użycia

Użyj zachowania Niezależnie od strefy czasowej, gdy informacje o strefie czasowej nie są wymagane, jak w przypadku godziny meldowania w hotelu. Dzięki temu wyborowi użytkownicy we wszystkich strefach czasowych widzą tę samą datę i godzinę.

Zachowanie Tylko data dotyczy spraw, gdy informacje o porze dnia i strefie czasowej nie są wymagane, takich jak urodziny czy rocznice. Dzięki temu wyborowi użytkownicy we wszystkich strefach czasowych widzą dokładną datę i godzinę.

Zachowanie niezależne od strefy czasowej z formatem Tylko data jest praktycznie takie samo jak zachowanie Tylko data. Skorzystaj z tej pierwszej opcji, jeśli nie masz pewności, czy będziesz potrzebować tej części czasu w przyszłości.

Przykłady

Wyświetl wartość

Dataverse zapisuje 2023-10-15T07:30:00Z (lub 2023-10-15 dla zachowania Tylko dane). Użytkownicy w strefie czasowej UTC-8 widzą je w aplikacji opartej na modelu lub z żądaniem Web API dla sformatowanej wartości:

Zachowanie Formatuj Wyświetl wartość
Lokalna dla użytkownika Data i godzina 14 października 2023 r., 23:30
Lokalna dla użytkownika Tylko data 14 października 2023 r.
Niezależnie od strefy czasowej Data i godzina 15 października 2023 r., 07:30
Niezależnie od strefy czasowej Tylko data 15 października 2023 r.
Tylko data - 15 października 2023 r.

Wprowadzanie wartości w aplikacji

Użytkownicy w strefie czasowej UTC-8 wpisują October 14th, 2023, 11:30 pm w aplikacji opartej na modelu. Wartość jest zapisywana w Dataverse jako:

Zachowanie Formatuj Zapisana wartość w Dataverse
Lokalna dla użytkownika Data i godzina 2023-10-15T07:30:00Z
Lokalna dla użytkownika Tylko data 2023-10-15T07:30:00Z
Niezależnie od strefy czasowej Data i godzina 2023-10-14T23:30:00Z
Niezależnie od strefy czasowej Tylko data 2023-10-14T23:30:00Z
Tylko data - 2023-10-14

Jeśli użytkownik wprowadzi tylko datę October 14th, 2023, przyjmuje się, że godzina to 24:00.

Zachowanie Formatuj Zapisana wartość w Dataverse
Lokalna dla użytkownika Tylko data 2023-10-14T08:00:00Z
Niezależnie od strefy czasowej Tylko data 2023-10-14T00:00:00Z
Tylko data - 2023-10-14

Wprowadzanie nieprawidłowych wartości w aplikacji

Różni klienci mają różne sposoby obsługi nieprawidłowych danych wejściowych. Przykładowo, w strefie czasowej Pacyfiku czas letni rozpoczął się 12 marca 2023 r. o godzinie 2:00, przesuwając czas o jedną godzinę do przodu, do godziny 3:00. Czas między 2:00 a 3:00 tego dnia nie istnieje. Gdy użytkownicy próbują wprowadzić wartość w tym zakresie czasu, aplikacje mogą wykonać jedną z następujących czynności:

  • Zmiana na poprzedni lub następny ważny czas.
  • Powróć do ostatniej znanej wartości.
  • Pokaż komunikat o błędzie.
  • Nie są wyświetlane godziny w godzinach od 2:00 do 3:00 w selektorze godzin, dzięki czemu użytkownicy nie mogą wybrać ich w pierwszej kolejności.

Podobnie różni klienci mają różne sposoby obsługi powtarzających się zakresów czasu. Przykładowo, w strefie czasowej Pacyfiku czas letni zakończył się 5 listopada 2023 r. o godzinie 2:00, przesuwając czas o jedną godzinę do tyłu do godziny 1:00. Czas między 1:00 a 2:00 tego dnia jest dwukrotnie powtórzony. Godzina 1:30 może dotyczyć obu stref czasowych. Jeśli trzeba jednoznacznie pokazywać lub wprowadzać godziny w tym zakresie, najlepiej jest tymczasowo przełączać się do strefy czasowej, która nie korzysta z czasu letniego.

Pobieranie nieprzetworzonych wartości za pomocą Web API

Dataverse zapisuje 2023-10-15T07:30:00Z (lub 2023-10-15 dla zachowania Tylko dane). Użytkownicy we wszystkich strefach czasowych otrzymują je za pomocą żądania Web API dla wartości:

Zachowanie Formatuj Wartość nieprzetworzona
Lokalna dla użytkownika Data i godzina 2023-10-15T07:30:00Z
Lokalna dla użytkownika Tylko data 2023-10-15T07:30:00Z
Niezależnie od strefy czasowej Data i godzina 2023-10-15T07:30:00Z
Niezależnie od strefy czasowej Tylko data 2023-10-15T07:30:00Z
Tylko data - 2023-10-15

Pobieranie wartości za pomocą interfejsu API klienta

Użytkownicy w strefie czasowej UTC-8 wpisują October 14th, 2023, 11:30 pm w aplikacji opartej na modelu. API klienckie funkcjonuje jako formContext.getAttribute(<column name>).getValue() i zwraca wartość z zastosowanymi korektami strefy czasowej:

Zachowanie Formatuj JavaScript dateValue.toUTCString()
Lokalna dla użytkownika Data i godzina 2023-10-15 07:30 (UTC)
Lokalna dla użytkownika Tylko data 2023-10-15 07:30 (UTC)

Dla zachowania Niezależnego od strefy czasowej, wartość data JavaScript jest w strefie czasowej przeglądarki:

Zachowanie Formatuj JavaScript dateValue.toString()
Niezależnie od strefy czasowej Data i godzina 2023-10-14 23:30 (strefa czasowa przeglądarki)
Niezależnie od strefy czasowej Tylko data 2023-10-14 23:30 (strefa czasowa przeglądarki)

Wartości daty w JavaScript zawsze zawierają składnik czasu. Dlatego zachowanie Tylko data ma składnik czasu równy 24:00:

Zachowanie Formatuj JavaScript dateValue.toString()
Tylko data - 2023-10-15 00:00 (strefa czasowa przeglądarki)

Uwaga

Na wartości daty JavaScript ma wpływ strefa czasowa przeglądarki, która pochodzi z ustawień systemu operacyjnego urządzenia.

W przypadku zachowania Lokalnie dla użytkownika wynik API klienta powinien być interpretowany jako wartość UTC. Użyj Date.getUTCDate(), Date.getUTCHours() itd., aby z nim pracować. Aby uzyskać to, co widzi użytkownik, zastosuj getTimeZoneOffsetMinutes. Nie używaj Date.getDate(), Date.getHours(),, itp. ponieważ pokażą one wartość w strefie czasowej przeglądarki.

W przypadku zachowań Niezależnie od strefy czasowej i Tylko data wynik API klienta powinien być interpretowany jako wartość w strefie czasowej przeglądarki. Użyj Date.getDate(), Date.getHours() itd., aby z nim pracować. Nie używaj Date.getUTCDate(), Date.getUTCHours() i tak dalej, ponieważ nie musisz dostosowywać się do żadnych stref czasowych.

Zmiana lokalnego zachowania użytkownika

O ile wydawca rozwiązania zarządzanego temu nie zapobiegnie, możesz zmienić zachowanie istniejących kolumn niestandardowych daty z Lokalna dla użytkownika na Tylko data lub Niezależnie od strefy czasowej. Można to zmienić tylko raz.

Zmiana zachowania kolumny ma wpływ na wartości kolumny, które są dodawane lub modyfikowane po zmianie zachowania kolumn. Istniejące wartości kolumny pozostają zapisane w bazie danych w formacie strefy czasowej UTC. Aby zmienić zachowanie istniejących wartości kolumn z UTC na Tylko data, możesz potrzebować pomocy programisty, aby konwertować zachowanie istniejących wartości daty i godziny w bazie danych.

Ostrzeżenie

Przed zmianą zachowania istniejącej kolumny Data i godzina powinieneś przejrzeć wszystkie zależności tej kolumny, takie jak reguły biznesowe, przepływy pracy, kolumny obliczane oraz kolumny zestawień, aby się upewnić, że zmiana zachowania nie spowoduje żadnych problemów. Po zmianie zachowania kolumny daty i godziny należy otworzyć każdą regułę biznesową, przepływ pracy, kolumnę wyliczaną i kolumnę rozwijaną zależną od zmienionej kolumny, przejrzeć informacje i zapisać je, aby upewnić się, że używane jest najnowsze zachowanie i wartość kolumny daty i godziny.

Zmień zachowanie podczas importu rozwiązania

Podczas importowania rozwiązania, które zawiera pole daty z zachowaniem Lokalna dla użytkownika, możesz mieć opcję zmiany zachowania na Tylko data lub Niezależnie od strefy czasowej.

Uwaga

Możesz zmienić zachowanie istniejącej zarządzanej kolumny Tylko data lub Data i godzina tylko wtedy, gdy jesteś wydawcą. Aby wprowadzić zmiany w tych polach, należy uaktualnić rozwiązanie, które dodało kolumnę Tylko data lub Data i godzina. Więcej informacji: Aktualizuj lub uaktualnij rozwiązanie

Zapobieganie zmianie zachowania

Jeśli dystrybuujesz niestandardową kolumnę daty w rozwiązaniu zarządzanym, możesz nie dopuścić do tego, by osoby korzystające z Twojego rozwiązania zmieniły zachowanie, ustawiając właściwość zarządzaną CanChangeDateTimeBehavior na wartość False. Więcej informacji: Ustawianie właściwości zarządzanych kolumn

Operatory zapytania Data i godzina nie są obsługiwane dla zachowania Tylko data

Następujące operatory zapytania Data i godzina są nieprawidłowe dla zachowania Tylko data. Gdy jeden z poniższych operatorów zostanie użyty w zapytaniu zgłaszany jest błąd wyjątku Nieprawidłowy operator.

  • Starszy niż X minut
  • Starsze niż X godz.
  • Ostatnich X godzin
  • Następnych X godzin

Zobacz też

Rozwiązywanie problemów z datą i czasem w aplikacjach opartych na modelu
Tworzenie i edytowanie kolumn.
Definiowanie kolumn obliczanych w celu zautomatyzowania ręcznych obliczeń
Właściwości zarządzane kolumny
Właściwości zarządzane
Blog: Praca ze strefami czasowymi w Dataverse
Skonfiguruj zachowanie i format kolumny daty i godziny za pomocą kodu

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).