Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En Microsoft Dataverse, podes especificar como se mostran os valores de data e hora aos usuarios e como se axustan para os fusos horarios.
Ademais das propiedades estándar dispoñibles na maioría das columnas, as columnas de data e hora teñen dúas propiedades adicionais:
- Axuste de fuso horario: Se axustar valores para os fusos horarios.
- Formato: Indica se se mostrará a parte temporal do valor.
Axuste do fuso horario
Dataverse almacena todos os valores de data e hora no fuso horario UTC. Cando a túa aplicación mostra valores ou procesa valores introducidos polos usuarios, Dataverse as aplicacións baseadas en modelos poden axustarse ao fuso horario do usuario con estas opcións de comportamento .
- Usuario local: Axusta os valores para o fuso horario do usuario. Este é o comportamento predeterminado para o formato Data e hora . Podes cambiar isto unha vez a outro comportamento.
- Independente do fuso horario: Sen conversión de fuso horario. Este é o comportamento predeterminado para o formato Só data .
Configura o fuso horario do usuario nas opcións persoais, non no fuso horario do sistema en Windows, Android, iOS ou macOS. Non obstante, o fuso horario do sistema pode afectar os scripts de cliente que funcionan con datas de JavaScript. ...
Formato
Todas as columnas de data e hora teñen unha porción temporal a menos que o seu comportamento sexa só data. Format determina se se mostra a parte temporal do valor.
- Data e hora: Mostra a data e a hora do valor.
- Só data: Mostra só a parte da data do valor.
Nota
Os usuarios aínda poden cambiar a parte da hora se o Formato é Só data. Por exemplo, usando chamadas á API web ou usando un control que teña a parte de tempo. Este comportamento é diferente do comportamentosó de data, onde a parte de tempo non se almacena en absoluto.
Pautas de uso
Usa o fuso horario independente cando non se require información horaria, como as horas de rexistro do hotel. Con esta selección, os usuarios de todos os fusos horarios ven o mesmo valor de data e hora.
Usa a data só cando non sexa necesaria información sobre a hora do día e o fuso horario, como aniversarios ou aniversarios. Con esta selección, os usuarios de todos os fusos horarios ven exactamente o mesmo valor de data.
Independente do fuso horario con só data é practicamente o mesmo que poñer a columna só en data. Usa o primeiro se non estás seguro de se necesitas a parte de tempo no futuro.
Importante
Evitar o formato Só de data co comportamento local do usuario . Os usuarios con fusos horarios diferentes poden ver unha data diferente, o que non é o previsto na maioría dos casos. Cando un usuario establece unha data nunha aplicación guiada por modelos, a parte horaria establece automaticamente a medianoite do seu fuso horario. Isto podería causar que a data apareza un día antes ou máis tarde para outros usuarios.
Exemplos
Mostrar valores
Dataverse almacena 2023-10-15T07:30:00Z (ou 2023-10-15 para o comportamento de só data ). Os usuarios no fuso horario UTC-8 ven isto na aplicación baseada en modelos ou cunha solicitude da API web para o valor formatado:
| Comportamento | Formato | Mostrar valor |
|---|---|---|
| Hora local do usuario | Data e hora | 14 de outubro de 2023, 23:30 |
| Hora local do usuario | Só data | 14 de outubro de 2023 |
| Independente do fuso horario | Data e hora | 15 de outubro de 2023, 7:30 h |
| Independente do fuso horario | Só data | 15 de outubro de 2023 |
| Só data | - | 15 de outubro de 2023 |
Introducir valores nunha aplicación
Os usuarios no fuso horario UTC-8 introducen October 14th, 2023, 11:30 pm unha aplicación baseada en modelos. O valor gárdase en Dataverse como:
| Comportamento | Formato | Valor gardado en Dataverse |
|---|---|---|
| Hora local do usuario | Data e hora | 2023-10-15T07:30:00Z |
| Hora local do usuario | Só data | 2023-10-15T07:30:00Z |
| Independente do fuso horario | Data e hora | 2023-10-14T23:30:00Z |
| Independente do fuso horario | Só data | 2023-10-14T23:30:00Z |
| Só data | - | 2023-10-14 |
Se o usuario introduce só a data October 14th, 2023, asúmese que a parte da hora son as 12:00 AM.
| Comportamento | Formato | Valor gardado en Dataverse |
|---|---|---|
| Hora local do usuario | Só data | 2023-10-14T08:00:00Z |
| Independente do fuso horario | Só data | 2023-10-14T00:00:00Z |
| Só data | - | 2023-10-14 |
Introducir valores non válidos nunha aplicación
Diferentes clientes teñen diferentes xeitos de xestionar a entrada non válida. Por exemplo, na zona horaria do Pacífico, o horario de verán comezou o 12 de marzo de 2023 ás 2:00 AM, adiantando o tempo unha hora ata as 3:00 AM. A hora entre as 2:00 e as 3:00 da mañá dese día non existe. Cando os usuarios tentan introducir un valor nese intervalo de tempo, as aplicacións poden facer unha das seguintes accións:
- Cambiar á hora válida anterior ou seguinte.
- Volver ao último valor coñecido.
- Mostrar unha mensaxe de erro.
- Non mostres as horas entre as 2:00 e as 3:00 da mañá no selector de horas, para que os usuarios non as poidan seleccionar en primeiro lugar.
Do mesmo xeito, os diferentes clientes teñen diferentes xeitos de xestionar intervalos de tempo repetidos. Por exemplo, na zona horaria do Pacífico, o horario de verán rematou o 5 de novembro de 2023 ás 2:00 da mañá, retrocedendo a hora unha hora ata a 1:00 AM. O tempo entre a 1:00 e as 2:00 da madrugada dese día repítese dúas veces. Unha hora como a 1:30 da mañá podería referirse a calquera das dúas zonas horarias. Se precisa mostrar ou introducir horas nese rango de forma inequívoca, é mellor cambiar temporalmente a unha zona horaria que non empregue o horario de verán.
Obter valores brutos coa API web
Dataverse almacena 2023-10-15T07:30:00Z (ou 2023-10-15 para o comportamento de só data ). Os usuarios de todas as zonas horarias reciben estes valores cunha solicitude da API web para o valor:
| Comportamento | Formato | Valor bruto |
|---|---|---|
| Hora local do usuario | Data e hora | 2023-10-15T07:30:00Z |
| Hora local do usuario | Só data | 2023-10-15T07:30:00Z |
| Independente do fuso horario | Data e hora | 2023-10-15T07:30:00Z |
| Independente do fuso horario | Só data | 2023-10-15T07:30:00Z |
| Só data | - | 2023-10-15 |
Obter valores coa API do cliente
Os usuarios no fuso horario UTC-8 introducen October 14th, 2023, 11:30 pm unha aplicación baseada en modelos.
As funcións da API do cliente como formContext.getAttribute(<column name>).getValue() devolven o valor cos axustes de fuso horario aplicados:
| Comportamento | Formato | JavaScript dateValue.toUTCString() |
|---|---|---|
| Hora local do usuario | Data e hora | 2023-10-15 07:30 (UTC) |
| Hora local do usuario | Só data | 2023-10-15 07:30 (UTC) |
Para un comportamento independente do fuso horario , o valor de data de JavaScript está no fuso horario do navegador:
| Comportamento | Formato | JavaScript dateValue.toString() |
|---|---|---|
| Independente do fuso horario | Data e hora | 2023-10-14 23:30 (fuso horario do navegador) |
| Independente do fuso horario | Só data | 2023-10-14 23:30 (fuso horario do navegador) |
Os valores de data de JavaScript sempre teñen un compoñente de tempo. É por iso que o comportamento Só data ten un compoñente temporal de 12:00 AM:
| Comportamento | Formato | JavaScript dateValue.toString() |
|---|---|---|
| Só data | - | 2023-10-15 00:00 (fuso horario do navegador) |
Nota
Os valores de data de JavaScript vense afectados pola zona horaria do navegador, que provén da configuración do sistema operativo do dispositivo.
Para o comportamento local do usuario , interpreta o resultado da API do cliente como un valor UTC. Úsao Date.getUTCDate() ou Date.getUTCHours() para traballar con el. Para obter o que ve o usuario, aplica getTimeZoneOffsetMinutes. Non uses Date.getDate() ou Date.getHours() porque estas funcións mostran o valor na zona horaria do navegador.
Para o comportamento independente do fuso horario e só data , interpreta o resultado da API do cliente como un valor na zona horaria do navegador. Úsao Date.getDate() ou Date.getHours() para traballar con el. Non o uses Date.getUTCDate() nin Date.getUTCHours() porque non tes que axustar a ningún fuso horario.
Cambiar o comportamento local do usuario
A menos que o editor dunha solución xestionada impida cambiar o comportamento local, podes cambiar o comportamento das columnas de data personalizadas existentes de local de usuarioa só data ou independente do fuso horario. Este é un cambio puntual.
Modificar o comportamento da columna afecta aos valores de columna que se engadiron ou modificaron unha vez que se modificou o comportamento da columna. Os valores de columna existentes permanecen na base de datos no formato UTC do fuso horario. Para cambiar o comportamento dos valores de columna existentes de UTC a Só data, pode que precise a axuda dun desenvolvedor para converter o comportamento dos valores de data e hora existentes na base de datos.
Aviso
Antes de cambiar o comportamento dunha columna de data e hora existente, revisa todas as dependencias da columna, como regras de negocio, fluxos de traballo, columnas calculadas ou columnas de agrupación, para asegurarte de que non hai problemas como resultado de cambiar o comportamento. Despois de modificar o comportamento dunha columna de data e hora, abra cada regra de negocio, fluxo de traballo, columna calculada e columna de resumo dependente da columna que modificou, revise a información e gárdea para garantir que se utilice o comportamento e o valor da columna de data e hora máis recente.
Modificar o comportamento durante unha importación de solución
Cando importas unha solución que contén unha columna de Data con Usuario local, podes cambiar o comportamento a só Data ou independente do fuso horario.
Nota
Só podes cambiar o comportamento dunha columna de Só data ou Data e hora xestionada existente se es o editor. Para facer un cambio nestes campos, débese realizar unha actualización á solución que engadiu a columna Só data ou Data e hora . Máis información: Actualizar ou actualizar unha solución
Evitar o cambio de comportamento
Se estás a distribuír unha columna de datas personalizada nunha solución xestionada, evita que as persoas que usan a túa solución cambien o comportamento definindo a propiedade xestionada CanChangeDateTimeBehavior en False. Máis información: Definir propiedades xestionadas para columnas
Os operadores de consulta de data e hora non son compatibles co comportamento "Só data"
Os seguintes operadores de consulta relacionados coa data e a hora non son válidos para o comportamento Só data . Prodúcese un erro de excepción de operador non válido cando un destes operadores se utiliza na consulta.
- Con máis de X minutos
- Con máis de X horas
- Últimas X horas
- As próximas X horas
Ver tamén
Resolución de problemas de data e hora en aplicacións baseadas en modelos
Crear e editar columnas
Definir columnas calculadas para automatizar cálculos manuais
Propiedades xestionadas por columnas
Propiedades xestionadas
Blog: Traballar con fusos horarios no Dataverse
Configurar o comportamento e o formato da columna de data e hora usando código