Compartir a través de


Comportamiento y formato de la columna de fecha y hora

En Microsoft Dataverse, puede especificar cómo se muestran los valores de fecha y hora a los usuarios y cómo se ajustan a las zonas horarias.

Hay dos opciones disponibles para las columnas de fecha y hora.

  • Comportamiento: si se deben ajustar los valores para las zonas horarias.
  • Formato: si se muestra la parte de tiempo del valor.

Behavior

Dataverse almacena todos los valores de fecha y hora en la zona horaria UTC. Cuando su aplicación muestra valores o procesa valores ingresados ​​por los usuarios, Dataverse y las aplicaciones basadas en modelos pueden ajustarse a la zona horaria del usuario con estas opciones de Comportamiento.

  • Local del usuario: ajustar valores para la zona horaria del usuario. Este es el comportamiento predeterminado. Puede cambiar esto una vez a otro comportamiento.
  • Independiente de la zona horaria: sin conversión de la zona horaria.
  • Solo fecha:sin conversión de zona horaria. A diferencia de Zona horaria independiente, la porción de tiempo no se almacena.

La zona horaria del usuario está configurada en opciones personales, no la zona horaria del sistema en Windows, Android, iOS o macOS. Sin embargo, la zona horaria del sistema puede afectar los scripts del cliente que funcionan con fechas de JavaScript.

Format

Todas las columnas de fecha y hora tienen una porción de tiempo a menos que su comportamiento sea Sólo fecha. Formato: determina si se muestra la parte de tiempo del valor.

  • Fecha y hora: muestra la fecha y hora del valor.
  • Solo fecha: muestra solo la porción de fecha del valor.

Nota

Los usuarios aún pueden cambiar la porción de tiempo si el Formato es Sólo fecha. Por ejemplo, con llamadas a la API web o mediante el uso de un control que tenga la porción de tiempo. Esto es diferente de Solo fecha Comportamiento, donde la porción de tiempo no se almacena en absoluto.

Directrices utilización

Use el comportamiento Zona horaria independiente cuando la información de zona horaria no es necesario, como la hora de registro en un hotel. Con esta selección, usuarios en todas las zonas horarias ven el mismo valor exacto de fecha y hora.

Use Solo fecha para casos cuando la información sobre la hora del día y de zona horaria no es necesaria, por ejemplo cumpleaños o aniversarios. Con esta selección, usuarios en todas las zonas horarias ven el mismo valor exacto de fecha.

Comportamiento Zona horaria independiente con el formato Solo fecha es prácticamente el mismo que el comportamiento Solo fecha. Utilice el primero si no está seguro de si necesitará esa porción de tiempo en el futuro.

Importante

Evite el formato Solo fecha con el comportamiento Usuario local. Los usuarios en diferentes zonas horarias pueden ver una fecha diferente, lo que no es lo previsto en la mayoría de los escenarios. Cuando un usuario establece una fecha en una aplicación basada en modelo, la parte horaria se establecerá automáticamente en la medianoche de su zona horaria. Esto podría hacer que la fecha aparezca un día antes o después para otros usuarios.

Ejemplos

Valores para mostrar

Dataverse almacena 2023-10-15T07:30:00Z (o 2023-10-15 para el comportamiento Solo fecha). Los usuarios en la zona horaria UTC-8 ven esto en la aplicación basada en modelos o con una solicitud de API web para el valor formateado:

Behavior Format Valor para mostrar
Local del usuario Fecha y hora 14 de octubre de 2023, 23:30 horas
Local del usuario Solo fecha 14 de octubre de 2023
Independiente de la zona horaria Fecha y hora 15 de octubre de 2023, 7:30 am
Independiente de la zona horaria Solo fecha 15 de octubre de 2023
Solo fecha - 15 de octubre de 2023

Introducir valores en una aplicación

Los usuarios en la zona horaria UTC-8 ingresan October 14th, 2023, 11:30 pm en una aplicación basada en modelos. El valor se guarda en Dataverse como:

Behavior Format Valor guardado en Dataverse
Local del usuario Fecha y hora 2023-10-15T07:30:00Z
Local del usuario Solo fecha 2023-10-15T07:30:00Z
Independiente de la zona horaria Fecha y hora 2023-10-14T23:30:00Z
Independiente de la zona horaria Solo fecha 2023-10-14T23:30:00Z
Solo fecha - 2023-10-14

Si el usuario ingresa solo la fecha October 14th, 2023, se supone que la parte horaria es las 12:00 a.m.

Behavior Format Valor guardado en Dataverse
Local del usuario Solo fecha 2023-10-14T08:00:00Z
Independiente de la zona horaria Solo fecha 2023-10-14T00:00:00Z
Solo fecha - 2023-10-14

Introducir valores inválidos en una aplicación

Diferentes clientes tienen diferentes formas de manejar entradas no válidas. Por ejemplo, en la zona horaria del Pacífico, el horario de verano comenzó el 12 de marzo de 2023 a las 2:00 a. m., adelantando la hora una hora hasta las 3:00 a. m. El horario entre las 2:00 a. m. y las 3:00 a. m. de ese día no existe. Cuando los usuarios intentan ingresar un valor en ese rango de tiempo, las aplicaciones pueden realizar una de las siguientes acciones:

  • Cambiar a la hora válida anterior o siguiente.
  • Revertir al último valor conocido.
  • Mostrar un mensaje de error.
  • No muestre horas entre las 2:00 a. m. y las 3:00 a. m. en el selector de horas, para que los usuarios no puedan seleccionarlas en primer lugar.

De manera similar, diferentes clientes tienen diferentes formas de manejar rangos de tiempo repetidos. Por ejemplo, en la zona horaria del Pacífico, el horario de verano terminó el 5 de noviembreo de 2023 a las 2:00 a. m., retrasando la hora una hora hasta la 1:00 a. m. El horario entre las 1:00 a. m. y las 2:00 a. m. de ese se repite dos veces. Una hora como la 1:30 a. m. podría referirse a cualquiera de las zonas horarias. Si necesita mostrar o ingresar horas inequívocamente en ese rango, es mejor cambiar temporalmente a una zona horaria que no utilice el horario de verano.

Obtenga valores sin procesar con Web API

Dataverse almacena 2023-10-15T07:30:00Z (o 2023-10-15 para el comportamiento Solo fecha). Los usuarios de todas las zonas horarias los obtienen con una solicitud de API web para el valor:

Behavior Format Valor bruto
Local del usuario Fecha y hora 2023-10-15T07:30:00Z
Local del usuario Solo fecha 2023-10-15T07:30:00Z
Independiente de la zona horaria Fecha y hora 2023-10-15T07:30:00Z
Independiente de la zona horaria Solo fecha 2023-10-15T07:30:00Z
Solo fecha - 2023-10-15

Obtener valores con API cliente

Los usuarios en la zona horaria UTC-8 ingresan October 14th, 2023, 11:30 pm en una aplicación basada en modelos. La API de cliente funciona como formContext.getAttribute(<column name>).getValue() y devuelve el valor con los ajustes de zona horaria aplicados:

Behavior Format JavaScript dateValue.toUTCString()
Local del usuario Fecha y hora 2023-10-15 07:30 (UTC)
Local del usuario Solo fecha 2023-10-15 07:30 (UTC)

Para el comportamiento independiente de la zona horaria, el valor de fecha de JavaScript está en la zona horaria del navegador:

Behavior Format JavaScript dateValue.toString()
Independiente de la zona horaria Fecha y hora 2023-10-14 23:30 (zona horaria del navegador)
Independiente de la zona horaria Solo fecha 2023-10-14 23:30 (zona horaria del navegador)

Los valores de fecha de JavaScript siempre tienen un componente de tiempo. Es por eso que el comportamiento Solo fecha tiene un componente de tiempo de 12:00 a. m.:

Behavior Format JavaScript dateValue.toString()
Solo fecha - 2023-10-15 00:00 (zona horaria del navegador)

Nota

Los valores de fecha de JavaScript se ven afectados por la zona horaria del navegador, que proviene de la configuración del sistema operativo del dispositivo.

Para el comportamiento Usuario local, el resultado de la API del cliente debe interpretarse como un valor UTC. Usar Date.getUTCDate(), Date.getUTCHours(), etc. para trabajar con ello. Para obtener lo que ve el usuario, aplique getTimeZoneOffsetMinutes. No utilice Date.getDate(), Date.getHours(), etc. porque mostrarán el valor en la zona horaria del navegador.

Para el comportamiento independiente de la zona horaria y solo fecha , el resultado de la API del cliente debe interpretarse como un valor de la zona horaria del navegador. Usar Date.getDate(), Date.getHours(), etc. para trabajar con ello. No utilice Date.getUTCDate(), Date.getUTCHours(), etc. porque no tienes que ajustarte a ninguna zona horaria.

Cambiar comportamiento de local del usuario

A menos que el editor de una solución administrada lo impida, puede cambiar el comportamiento de las columnas de fecha personalizados existentes de Local del usuario a Solo fecha o Independiente de la zona horaria. Se trata de un cambio de una sola vez.

Cambiar el comportamiento de la columna afecta a los valores de columna que se agregan o modificaron después de cambiar el comportamiento de la columna. Los valores de columna existentes permanecen en la base de datos con el formato de la zona horaria UTC. Para cambiar el comportamiento de los valores de columna existentes de UTC a Solo fecha, es posible que necesite la ayuda de un desarrollador para convertir el comportamiento de la fecha existente. y valores de tiempo en la base de datos.

Advertencia

Antes de modificar el comportamiento de una columna de fecha y hora existente, debe comprobar todas las dependencias de la columna, como reglas de negocio, flujos de trabajo, columnas calculadas o columnas consolidados, para asegurarse de que no hay problemas como resultado de modificar el comportamiento. Después de modificar el comportamiento de una columna de fecha y hora, debe abrir cada regla de negocio, flujo de trabajo, columna calculada y columna consolidada dependiente del campo que cambió, revisar la información y guardarla, para asegurarse de que se usarán el comportamiento y el valor más recientes de la columna de fecha y hora.

Cambiar comportamiento durante la importación de una solución

Cuando importa una solución que contiene una columna de fecha con el comportamiento Local del usuario puede tener la opción de cambiar el comportamiento a Solo fecha o Independiente de la zona horaria.

Nota

Solo puede cambiar el comportamiento de una columna administrada Solo fecha o Fecha y hora si es el editor. Para realizar un cambio en estos campos, se debe realizar una actualización en la solución que agregó Solo fecha o Fecha y hora columna. Más información: Actualizar una solución

Evitar cambio de comportamiento

Si va a distribuir una columna de fecha personalizada en una solución administrada, puede impedir que las personas que usan la solución cambien el comportamiento configurando la propiedad administrada CanChangeDateTimeBehavior a False. Más información: Establecer propiedades administradas para columnas

Operadores de consulta de fecha y hora no admitidos en el comportamiento Solo fecha

Los siguientes operadores de consulta relacionados con fecha y hora no son válidos para el comportamiento Solo fecha. Se genera un error de excepción de operador no válido cuando uno de estos operadores se usa en la consulta.

  • Más antiguo de X minutos
  • Anterior a X horas
  • Últimas X horas
  • Próximas X horas

Consulte también

Solucionar problemas de fecha y hora en aplicaciones basadas en modelos
Crear y editar columnas
Definir columnas calculadas para automatizar los cálculos manuales
Propiedades administradas de columna
Propiedades administradas
Blog: Trabajar con zonas horarias en Dataverse
Configurar el comportamiento y el formato de la columna de fecha y hora mediante código

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).