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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla