Partilhar via


Comportamento e formato da coluna data e hora

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.

Estão agora disponíveis duas opções para colunas de data e hora.

  • Comportamento: se os valores devem ser ajustados para fusos horários.
  • Formato: se deseja apresentar a porção de tempo do valor.

Comportamento

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. Pode alterar esta opção uma vez para outro comportamento.
  • Independente do fuso horário: sem conversão de fuso horário.
  • Apenas Data: sem conversão de fuso horário. Ao contrário de Independente do fuso horário, a porção de tempo não é armazenada.

O fuso horário do utilizador é definido em 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.

Format

Todas as colunas de data e hora têm uma porção de tempo, 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 a parte da data do valor apenas.

Nota

Os utilizadores ainda podem alterar a porção de tempo se o Formato for Apenas Data. Por exemplo, com chamadas de API Web ou através de um controlo que tenha a porção de tempo. Isto é diferente do Comportamento Apenas Data, onde a porção de tempo não é armazenada.

Diretrizes de utilização

Utilize o comportamento Independente do fuso horário quando as informações de fuso horário não são necessárias, como as horas de check-in num hotel. Com esta seleção, os utilizadores em todos os fusos horários vêem o mesmo valor de data e hora.

Utilize o comportamento Apenas Data quando não são necessárias informações sobre a hora do dia e o fuso horário, como aniversários. Com esta seleção, os utilizadores em todos os fusos horários vêem exatamente o mesmo valor de data.

O comportamento Independente do fuso horário com o formato Apenas Data é praticamente o mesmo que o comportamento 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 condicionada por modelo, a porção de tempo será 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 vê estes valores na aplicação condicionada por modelo ou com um Pedido de API Web para o valor formatado:

Comportamento Format 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 condicionada por modelo. O valor é gravado no Dataverse como:

Comportamento Format 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 Format 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 02h00, adiantando o horário uma hora para as 03h00. 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 02h00, retrocedendo o horário uma hora para a 01h00. A hora entre as 01h00 e as 02h00 desse dia é repetido 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). Os utilizadores em todos os fusos horários conseguem obter valores brutos o com um Pedido de APIWeb para o valor:

Comportamento Format 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 condicionada por modelo. A API do Cliente funciona como formContext.getAttribute(<column name>).getValue() a devolver o valor com ajustes de fuso horário aplicados:

Comportamento Format 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 Format JavaScript dateValue.toString()
Independente do Fuso Horário 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 Format 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 Região do utilizador, o resultado da API do Cliente deve ser interpretado como um valor UTC. Utilize Date.getUTCDate(), Date.getUTCHours() etc. para trabalhar com o mesmo. Para obter o que o utilizador vê, aplique getTimeZoneOffsetMinutes. Não utilize Date.getDate(), Date.getHours(), etc. porque irão mostrar o valor no fuso horário do navegador.

Para o comportamento Independente do fuso horário e Apenas data, o resultado da API do Cliente deve ser interpretado como um valor no fuso horário do navegador. Utilize Date.getDate(), Date.getHours() etc. para trabalhar com o mesmo. Não utilize Date.getUTCDate(), Date.getUTCHours() e assim por diante porque você não precisa ajustar para nenhum fuso horário.

Alterar o comportamento da região do utilizador

A menos que o fabricante de uma solução gerida o previna, pode alterar o comportamento de colunas de data personalizada existentes a partir da Região do utilizador para Apenas data ou Independente do fuso horário. Esta alteração é única.

Alterar o comportamento da coluna afeta os valores das colunas que sejam adicionadas ou modificadas após o comportamento da coluna ser alterada. 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 existente, deverá rever 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 ocorrerão problemas como resultado 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 o comportamento Região do utilizador, 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: Definir 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
  • X Horas Seguintes

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

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).