Solucionar problemas de data e hora em aplicativos de tela do Power Apps
Quando os valores de data e hora estão desativados por um dia ou algumas horas, isso pode ser causado por ajustes de fuso horário ou horário de verão. Este artigo fornece dicas para solucionar problemas como:
- O campo Data e Hora mostra UTC em vez da hora local ou vice-versa.
- O valor Somente Data mostra a data errada para alguns usuários e fusos horários.
- Inserir uma data de transição do horário de verão resulta na data de um dia ou de uma hora.
Determine se é um problema de servidor ou cliente
Os aplicativos de tela são aplicativos da web. Eles obtêm dados de serviços em nuvem (servidores). Os mesmos dados podem alimentar vários aplicativos (clientes). Erros podem ocorrer no servidor ou no cliente.
Se o valor de data e hora na fonte de dados for inesperado, ele provavelmente aparecerá incorretamente em todos os lugares e não apenas em aplicativos de tela. Portanto, verificar o valor armazenado é um primeiro passo importante.
Verifique se o valor correto está armazenado no servidor
Os valores de data e hora geralmente são armazenados como UTC. Para tabelas do Dataverse, você pode exibir o valor bruto de data e hora com uma consulta de API Web. Para outras fontes de dados, como Microsoft List ou Excel, consulte sua respectiva documentação.
Verifique as configurações de ajuste de fuso horário da fonte de dados e do controle do Seletor de Data
Algumas fontes de dados já foram ajustadas para fusos horários. Além disso, o controle Seletor de Data também pode ajustar fusos horários com sua propriedade DateTimeZone .
Um erro comum é a incompatibilidade entre a fonte de dados e as configurações de controle. Por exemplo, quando uma coluna de tabela do Dataverse é independente de fuso horário, mas o DateTimeZone do seletor de data está definido como Local, o valor UTC do servidor será exibido de acordo com o fuso horário do usuário. O contrário também é verdade. Um valor Local do Usuário do Dataverse será exibido como UTC quando o DateTimeZone for definido como UTC.
Observe que esse conflito potencial não ocorre com aplicativos baseados em modelo porque é impossível personalizar a manipulação de fuso horário para controles individuais.
Tente um fuso horário diferente
Para descobrir se os ajustes de fuso horário e horário de verão estão causando valores inesperados, tente alterar o fuso horário do usuário.
Os aplicativos de tela usam o fuso horário do sistema. Para obter informações sobre como alterá-lo, consulte a respectiva documentação no Windows, Android, iOS ou macOS.
Dica
Os métodos a seguir fornecem mais detalhes para facilitar a investigação de problemas de data e hora.
Mostrar o fuso horário do usuário
Você pode verificar o fuso horário do usuário com a função TimeZoneOffset . Ele fornece o número de minutos entre o UTC e o fuso horário do usuário. Por exemplo, se o usuário estiver no Horário Padrão do Pacífico, ele retornará 480. Esse é o mesmo deslocamento que o controle Seletor de Data e o Power Fx usam para ajustar fusos horários e horário de verão.
Com esse deslocamento, você pode calcular se os valores de data e hora foram ajustados corretamente.
Altere o formato "Somente data" para "Data e hora"
Se um valor somente de data estiver desativado em um dia, é útil mostrar a parte da hora para ver se os ajustes de fuso horário podem ser a causa.
Não use anos de 2 dígitos
O ano de 2 dígitos é ambíguo. Por exemplo, 40 pode significar 1940, 2040 ou 2140. A forma como o sistema interpreta os anos de 2 dígitos pode e provavelmente mudará com o tempo.
Também é difícil investigar quando os valores completos de data e hora não são mostrados. Por esses motivos, é altamente recomendável usar anos de 4 dígitos, especialmente ao inserir datas.
Problemas comuns com colunas de data e hora do Dataverse
A coluna "Somente data" mostra a data errada para alguns usuários
Esse problema pode ocorrer para comportamentos de ajuste independente de fuso horário e local do usuário, que sempre têm um componente de hora. Os ajustes de fuso horário, pelo Dataverse ou pelo aplicativo de tela, podem adiantar ou retroceder a data em um dia.
Para resolver esse problema, mostre o componente de tempo do valor e verifique as configurações de ajuste de fuso horário.
O formulário mostra um seletor de tempo para uma coluna, mesmo que seu formato seja "Somente Data"
Esse problema pode ocorrer para comportamentos de ajuste independente de fuso horário e local do usuário, que sempre têm um componente de hora. Se você adicionar essa coluna a um formulário, o formulário assumirá que você também precisa de um tempo.
Se você não quiser que os usuários vejam ou editem o componente de tempo do valor,
Remova o seletor de tempo.
Para colunas locais do usuário que não precisam de ajustes de fuso horário, altere seu comportamento de ajuste para Somente data.
Observação
Isso é diferente do formato Somente Data. Esta é uma mudança permanente e não pode ser desfeita. Outros aplicativos, plug-ins ou fluxos de trabalho que anteriormente ajustaram a coluna para fusos horários podem não funcionar corretamente.