Udostępnij za pośrednictwem


Rozwiązywanie problemów z datą i godziną w aplikacjach kanwy usługi Power Apps

Gdy wartości daty i godziny są wyłączone o dzień lub kilka godzin, może to być spowodowane przez zmiany strefy czasowej lub czasu letniego. Ten artykuł zawiera porady dotyczące rozwiązywania problemów, takich jak:

  • Pole Data i godzina zawiera wartość UTC zamiast czasu lokalnego lub odwrotnie.
  • Wartość Tylko data pokazuje nieprawidłową datę dla niektórych użytkowników i stref czasowych.
  • Wprowadzenie daty przełączenia czasu letniego powoduje, że data jest wyłączona o jeden dzień lub godzina jest wyłączona o godzinę.

Określanie, czy jest to problem z serwerem, czy klientem

Aplikacje kanwy to aplikacje internetowe. Pobierają dane z usług w chmurze (serwerów). Te same dane mogą zasilać wiele aplikacji (klientów). Na serwerze lub kliencie mogą wystąpić błędy.

Jeśli wartość daty i godziny w źródle danych jest nieoczekiwana, prawdopodobnie pojawi się niepoprawnie wszędzie, a nie tylko w aplikacjach kanwy. W związku z tym sprawdzenie przechowywanej wartości jest ważnym pierwszym krokiem.

Sprawdź, czy prawidłowa wartość jest przechowywana na serwerze

Wartości daty i godziny są zwykle przechowywane jako UTC. W przypadku tabel Usługi Dataverse możesz wyświetlić nieprzetworzoną wartość daty i godziny za pomocą zapytania internetowego interfejsu API. W przypadku innych źródeł danych, takich jak Microsoft List lub Excel, zapoznaj się z odpowiednią dokumentacją.

Sprawdzanie ustawień korekty strefy czasowej źródła danych i kontrolki Selektor dat

Niektóre źródła danych zostały już dostosowane do stref czasowych. Ponadto kontrolka Selektor dat może również dostosowywać strefy czasowe za pomocą właściwości DateTimeZone .

Typowym błędem jest niezgodność ustawień źródła danych i kontroli. Jeśli na przykład kolumna tabeli Dataverse jest niezależna od strefy czasowej, ale właściwość DateTimeZone selektora dat jest ustawiona na wartość Lokalna, wartość UTC z serwera będzie wyświetlana zgodnie ze strefą czasową użytkownika. Odwrotnie jest również prawdziwe. Wartość lokalna użytkownika z usługi Dataverse będzie wyświetlana jako UTC, gdy wartość DateTimeZone zostanie ustawiona na utc.

Należy pamiętać, że ten potencjalny konflikt nie występuje w przypadku aplikacji opartych na modelu, ponieważ nie można dostosować obsługi stref czasowych dla poszczególnych kontrolek.

Wypróbuj inną strefę czasową

Aby dowiedzieć się, czy zmiany strefy czasowej i czasu letniego powodują nieoczekiwane wartości, spróbuj zmienić strefę czasowa użytkownika.

Aplikacje kanwy używają systemowej strefy czasowej. Aby uzyskać informacje na temat sposobu jej zmiany, zapoznaj się z odpowiednią dokumentacją w systemach Windows, Android, iOS lub macOS.

Porada

Poniższe metody zawierają więcej szczegółów, aby ułatwić badanie problemów z datą i godziną.

Pokazywanie strefy czasowej użytkownika

Strefę czasową użytkownika można sprawdzić za pomocą funkcji TimeZoneOffset. Podaje liczbę minut między utc i strefy czasowej użytkownika. Jeśli na przykład użytkownik znajduje się w regionie Pacyfik w warstwie Standardowa, zwróci wartość 480. Jest to to to samo przesunięcie, którego używają kontrolki Selektor dat i Power Fx, aby dostosować strefy czasowe i czas letni.

Dzięki temu przesunięciu można obliczyć, czy wartości daty i godziny zostały poprawnie dostosowane.

Zmień format "Tylko data" na "Data i godzina"

Jeśli wartość tylko daty jest wyłączona o dzień, warto pokazać część czasu, aby sprawdzić, czy przyczyną mogą być korekty strefy czasowej.

Nie używaj lat 2-cyfrowych

Rok 2-cyfrowy jest niejednoznaczny. Na przykład 40 może oznaczać 1940, 2040 lub 2140. Sposób, w jaki system interpretuje 2-cyfrową liczbę lat, może i prawdopodobnie zmienia się wraz z upływem czasu.

Trudno jest również zbadać, kiedy nie są wyświetlane pełne wartości daty i godziny. Z tych powodów zdecydowanie zaleca się używanie 4-cyfrowych lat, zwłaszcza podczas wprowadzania dat.

Typowe problemy z kolumnami Dataverse Date and Time

Kolumna "Tylko data" pokazuje nieprawidłową datę dla niektórych użytkowników

Ten problem może wystąpić w przypadku zachowań dostosowań niezależnych od strefy czasowej i lokalnych użytkowników, które zawsze mają składnik czasu. Korekty strefy czasowej według usługi Dataverse lub aplikacji kanwy mogą przenieść datę do przodu lub do tyłu o dzień.

Aby rozwiązać ten problem, pokaż składnik czasu wartości i sprawdź ustawienia korekty strefy czasowej.

Formularz pokazuje selektor czasu dla kolumny, mimo że jego format to "Tylko data"

Ten problem może wystąpić w przypadku zachowań dostosowań niezależnych od strefy czasowej i lokalnych użytkowników, które zawsze mają składnik czasu. Jeśli dodasz taką kolumnę do formularza, formularz zakłada, że potrzebujesz również czasu.

Jeśli nie chcesz, aby użytkownicy widzieli lub edytowali składnik czasu wartości,

  • Usuń selektor czasu.

  • W przypadku kolumn lokalnych użytkownika , które nie wymagają korekt strefy czasowej, zmień ich zachowanie na Tylko data.

    Uwaga

    Różni się to od formatu Tylko data . Jest to stała zmiana i nie można jej cofnąć. Inne aplikacje, wtyczki lub przepływy pracy, które wcześniej dostosowały kolumnę dla stref czasowych, mogą nie działać poprawnie.

Zobacz też

Zachowanie i format kolumny Dataverse Date and Time