Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
No Microsoft Dataverse, pode especificar como os valores de data e hora são apresentados aos utilizadores e como são ajustados para fusos horários.
Para além das propriedades padrão disponíveis na maioria das colunas, as colunas de data e hora têm duas propriedades extra:
- Ajuste de fuso horário: Se deve ajustar valores para fusos horários.
- Formato: se deseja apresentar a porção de tempo do valor.
Ajuste do fuso horário
O Dataverse armazena todos os valores de data e hora no fuso horário UTC. Quando a sua aplicação apresenta valores ou valores de processamento introduzidos pelos utilizadores, o Dataverse e as aplicações condicionadas por modelo podem ajustar-se para o fuso horário do utilizador com essas opções de Comportamento.
- Região do Utilizador: ajusta valores para o fuso horário do utilizador: Este é o comportamento predefinido para o formato Data e hora. Pode alterar esta opção uma vez para outro comportamento.
- Independente do fuso horário: sem conversão de fuso horário. Este é o comportamento predefinido para o formato Apenas data.
Defina o fuso horário do utilizador nas opções pessoais, não o fuso horário do sistema no Windows, Android, iOS ou macOS. No entanto, o fuso horário do sistema pode afetar scripts de cliente que funcionam com datas do JavaScript.
Formato
Todas as colunas de data e hora têm uma parte temporal, a menos que o seu comportamento seja Apenas Data. Formato: determina se deseja apresentar a porção de tempo do valor.
- Data e hora: apresenta a data e a hora do valor.
- Apenas data: apresenta apenas a parte da data do valor.
Nota
Os utilizadores ainda podem alterar a parte temporal se o Formato for Apenas Data. Por exemplo, utilizando chamadas à API da Web ou utilizando um controlo que tenha a parte de tempo. Este comportamento é diferente de Apenas DataComportamento, onde a parte temporal não é armazenada.
Diretrizes de utilização
Use o fuso horário independente quando a informação do fuso horário não for necessária, como os horários de check-in do hotel. Com esta seleção, os utilizadores em todos os fusos horários vêem o mesmo valor de data e hora.
Use a data apenas quando não for necessário informar sobre a hora do dia e o fuso horário, como datas de nascimento ou aniversários. Com esta seleção, os utilizadores em todos os fusos horários vêem exatamente o mesmo valor de data.
Independente do fuso horário com Apenas data é praticamente o mesmo que definir a coluna como Apenas Data. Utilize o anterior se não tiver certeza se precisa da porção de tempo no futuro.
Importante
Evite o formato Apenas data com comportamento Região do utilizador. Os utilizadores em fusos horários diferentes podem ver uma data diferente, o que não é pretendido na maioria dos cenários. Quando um utilizador define uma data numa aplicação orientada a modelos, a parte horária é automaticamente definida para a meia-noite do seu fuso horário. Isso pode fazer com que a data apareça um dia antes ou depois para outros utilizadores.
Exemplos
Apresentar valores
O Dataverse armazena 2023-10-15T07:30:00Z (ou 2023-10-15 para o comportamento Apenas Data). Os utilizadores no fuso horário UTC-8 veem estes valores na aplicação baseada em modelo ou com um pedido de API Web para o valor formatado:
| Comportamento | Formato | Apresentar valor |
|---|---|---|
| Região do utilizador | Data e hora | 14 de outubro de 2023, 23:30 |
| Região do utilizador | Apenas data | 14 de outubro de 2023 |
| Independente do Fuso Horário | Data e hora | 15 de outubro de 2023, 07:30 |
| Independente do Fuso Horário | Apenas data | 15 de outubro de 2023 |
| Apenas data | - | 15 de outubro de 2023 |
Introduzir valores numa aplicação
Os utilizadores no fuso horário UTC-8 introduzem October 14th, 2023, 11:30 pm numa aplicação orientada por modelo. O valor é gravado no Dataverse como:
| Comportamento | Formato | Valor guardado no Dataverse |
|---|---|---|
| Região do utilizador | Data e hora | 2023-10-15T07:30:00Z |
| Região do utilizador | Apenas data | 2023-10-15T07:30:00Z |
| Independente do Fuso Horário | Data e hora | 2023-10-14T23:30:00Z |
| Independente do Fuso Horário | Apenas data | 2023-10-14T23:30:00Z |
| Apenas data | - | 2023-10-14 |
Se o utilizador introduzir apenas a data October 14th, 2023, a porção de tempo é assumida como 12:00.
| Comportamento | Formato | Valor guardado no Dataverse |
|---|---|---|
| Região do utilizador | Apenas data | 2023-10-14T08:00:00Z |
| Independente do Fuso Horário | Apenas data | 2023-10-14T00:00:00Z |
| Apenas data | - | 2023-10-14 |
Introduzir valores inválidos numa aplicação
Clientes diferentes têm formas diferentes de lidar com entradas inválidas. Por exemplo, no fuso horário do Pacífico, o horário de verão começou a 12 de março de 2023 às 2:00 da manhã, avançando a hora para as 3:00 da manhã. A hora entre as 2h00 e as 3h00 desse dia não existe. Quando os utilizadores tentam introduzir um valor nesse intervalo de tempo, as aplicações podem fazer o seguinte:
- Alterar para a hora válida anterior ou seguinte.
- Reverter para o último valor conhecido.
- Mostrar uma mensagem de erro.
- Não apresentar horas entre as 2h00 e as 3h00 no seletor de horas, para que os utilizadores não as possam selecionar.
Da mesma forma, diferentes clientes têm maneiras diferentes de processar intervalos de tempo repetidos. Por exemplo, no fuso horário do Pacífico, o horário de verão terminou a 5 de novembro de 2023 às 2:00 da manhã, recuando a hora uma hora para a 1:00 da manhã. O horário entre as 01h00 e as 02h00 daquele dia repete-se duas vezes. Uma hora como 01h30 pode referir-se a qualquer um dos fusos horários. Se precisar de mostrar ou de introduzir inequivocamente horas nesse intervalo, é melhor mudar temporariamente para um fuso horário que não utilize o horário de verão.
Obter valores brutos com a API Web
O Dataverse armazena 2023-10-15T07:30:00Z (ou 2023-10-15 para o comportamento Apenas Data). Utilizadores em todos os fusos horários obtêm estes valores através de um pedido da Web API para o valor:
| Comportamento | Formato | Valor bruto |
|---|---|---|
| Região do utilizador | Data e hora | 2023-10-15T07:30:00Z |
| Região do utilizador | Apenas data | 2023-10-15T07:30:00Z |
| Independente do Fuso Horário | Data e hora | 2023-10-15T07:30:00Z |
| Independente do Fuso Horário | Apenas data | 2023-10-15T07:30:00Z |
| Apenas data | - | 2023-10-15 |
Obter valores com a API do cliente
Os utilizadores no fuso horário UTC-8 introduzem October 14th, 2023, 11:30 pm numa aplicação orientada por modelo. As funções da API do Cliente, como formContext.getAttribute(<column name>).getValue(), devolvem o valor com ajustes de fuso horário aplicados.
| Comportamento | Formato | Javascript dateValue.toUTCString() |
|---|---|---|
| Região do utilizador | Data e hora | 2023-10-15 07:30 (UTC) |
| Região do utilizador | Apenas data | 2023-10-15 07:30 (UTC) |
Para o comportamento Independente do fuso horário, o valor Data do JavaScript está no fuso horário do navegador:
| Comportamento | Formato | Javascript dateValue.toString() |
|---|---|---|
| Independente de Zona de Tempo | Data e hora | 2023-10-14 23:30 (fuso horário do navegador) |
| Independente do Fuso Horário | Apenas data | 2023-10-14 23:30 (fuso horário do navegador) |
Os valores de data do JavaScript têm sempre um componente de tempo. É por isso que o comportamento Apenas data tem um componente de hora de 12:00:
| Comportamento | Formato | Javascript dateValue.toString() |
|---|---|---|
| Apenas data | - | 2023-10-15 00:00 (fuso horário do navegador) |
Nota
Os valores de data do JavaScript são afetados pelo fuso horário do navegador, que vem das configurações do sistema operativo do dispositivo.
Para o comportamento local do utilizador , interprete o resultado da API do cliente como um valor UTC. Use Date.getUTCDate() ou Date.getUTCHours() para trabalhar com ele. Para obter o que o utilizador vê, aplique getTimeZoneOffsetMinutes. Não uses Date.getDate() ou Date.getHours() porque estas funções mostram o valor no fuso horário do navegador.
Para comportamento independente do fuso horário e Apenas Data , interprete o resultado da API do Cliente como um valor no fuso horário do browser. Use Date.getDate() ou Date.getHours() para trabalhar com ele. Não uses Date.getUTCDate() ou Date.getUTCHours() porque não precisas de ajustar para fusos horários.
Alterar o comportamento local do utilizador
A menos que o fabricante de uma solução gerida impeça a alteração do comportamento local, poderá alterar o comportamento de colunas personalizadas existentes de data de Utilizador local para Apenas Data ou Independente do fuso horário. Esta alteração é única.
Alterar o comportamento da coluna afeta os valores da coluna que são adicionados ou modificados após o comportamento da coluna ser alterado. Os valores das colunas existentes permanecem na base de dados no formato de fuso horário UTC. Para alterar o comportamento dos valores de coluna existentes de UTC para Apenas data, pode precisar da ajuda de um programador para converter o comportamento de valores de data e hora existentes na base de dados.
Aviso
Antes de alterar o comportamento de uma coluna de data e hora existentes, reveja todas as dependências da coluna, como regras de negócio, fluxos de trabalho, colunas calculadas ou colunas de rollup, para garantir que não há problemas resultantes da alteração do comportamento. Depois de alterar o comportamento de uma coluna de data e hora, abra cada regra de negócio, fluxo de trabalho, coluna calculada e coluna de rollup dependente da coluna que alterou, reveja as informações e guarde-as, para garantir que o comportamento e o valor da coluna de data e hora mais recentes são utilizados.
Alterar o comportamento durante a importação de soluções
Quando importa uma solução que contém uma coluna Data com User local, pode alterar o comportamento para apenas Data ou independente do fuso horário.
Nota
Só pode alterar o comportamento de uma coluna gerida Apenas data ou Data e hora existente, se for o editor. Para fazer uma alteração a esses campos, deve ser feita uma atualização para a solução que adicionou a coluna Apenas data ou Data e hora. Mais informações: Atualizar versão ou atualizar uma solução
Impedir a alteração de comportamento
Se estiver a distribuir uma coluna de data personalizada numa solução gerida, impeça que as pessoas utilizem a solução de alterar o comportamento definindo a propriedade gerida CanChangeDateTimeBehavior para Falso. Mais informações: Configurar propriedades geridas para colunas
Operadores de consulta de data e hora não suportados para o comportamento Apenas Data
Os seguintes operadores de consulta de data e hora relacionados não são válidos para o comportamento Apenas data. Um erro de exceção de operador inválido é acionado quando um dos operadores é utilizado na pesquisa.
- Com Mais de X Minutos
- Com Mais de X Horas
- Últimas X Horas
- Próximas X Horas
Consulte também
Resolver problemas de data e hora em aplicações condicionadas por modelos
Criar e editar colunas
Definir colunas calculadas para automatizar cálculos manuais
Propriedades geridas de coluna
Propriedades geridas
Blogue: Trabalhar com fusos horários no Dataverse
Configurar o comportamento e formato da coluna data e hora através do código