Solución de problemas de fecha y hora en aplicaciones de lienzo de Power Apps
Cuando los valores de fecha y hora están desactivados por un día o unas pocas horas, puede deberse a ajustes de zona horaria o horario de verano. En este artículo se proporcionan sugerencias para solucionar problemas como:
- El campo Fecha y hora muestra UTC en lugar de la hora local o viceversa.
- El valor Solo fecha muestra la fecha incorrecta para algunos usuarios y zonas horarias.
- Al escribir una fecha de cambio de horario de verano, la fecha está desactivada un día o la hora que está desactivada en una hora.
Determinar si se trata de un problema de servidor o cliente
Las aplicaciones de lienzo son aplicaciones web. Obtienen datos de servicios en la nube (servidores). Los mismos datos pueden alimentar varias aplicaciones (clientes). Los errores pueden producirse en el servidor o el cliente.
Si el valor de fecha y hora del origen de datos es inesperado, es probable que aparezca incorrectamente en todas partes y no solo en las aplicaciones de lienzo. Por lo tanto, comprobar el valor almacenado es un primer paso importante.
Compruebe si el valor correcto está almacenado en el servidor.
Los valores de fecha y hora normalmente se almacenan como UTC. En el caso de las tablas de Dataverse, puede ver el valor de fecha y hora sin procesar con una consulta de API web. Para otros orígenes de datos como Microsoft List o Excel, consulte su documentación correspondiente.
Compruebe la configuración de ajuste de zona horaria del control origen de datos y Selector de fechas.
Algunos orígenes de datos ya se han ajustado para zonas horarias. Además, el control Selector de fechas también puede ajustar las zonas horarias con su propiedad DateTimeZone .
Un error común es no coincide con la configuración del origen de datos y del control. Por ejemplo, cuando una columna de tabla de Dataverse es independiente de la zona horaria, pero dateTimeZone del selector de fechas se establece en Local, el valor UTC del servidor se mostrará según la zona horaria del usuario. El proceso inverso también es cierto. Un valor local de Usuario de Dataverse se mostrará como UTC cuando DateTimeZone esté establecido en UTC.
Tenga en cuenta que este posible conflicto no se produce con aplicaciones controladas por modelos porque es imposible personalizar el control de zonas horarias para controles individuales.
Prueba de una zona horaria diferente
Para averiguar si los ajustes de zona horaria y horario de verano están causando valores inesperados, intente cambiar la zona horaria del usuario.
Las aplicaciones de lienzo usan la zona horaria del sistema. Para obtener información sobre cómo cambiarla, consulte la documentación correspondiente en Windows, Android, iOS o macOS.
Sugerencia
Los métodos siguientes proporcionan más detalles para facilitar la investigación de problemas de fecha y hora.
Mostrar la zona horaria del usuario
Puede comprobar la zona horaria del usuario con la función TimeZoneOffset. Proporciona el número de minutos entre utc y la zona horaria del usuario. Por ejemplo, si el usuario está en hora estándar del Pacífico, devolverá 480. Este es el mismo desplazamiento que el control Selector de fecha y Power Fx usan para ajustar las zonas horarias y el horario de verano.
Con este desplazamiento, puede calcular si los valores de fecha y hora se han ajustado correctamente.
Cambie el formato "Solo fecha" a "Fecha y hora"
Si un valor de solo fecha está desactivado por un día, resulta útil mostrar la parte de tiempo para ver si los ajustes de zona horaria podrían ser la causa.
No use años de 2 dígitos
El año de 2 dígitos es ambiguo. Por ejemplo, 40 podría significar 1940, 2040 o 2140. La forma en que el sistema interpreta los años de 2 dígitos y probablemente cambiará con el tiempo.
También es difícil investigar cuándo no se muestran los valores de fecha y hora completos. Por estas razones, se recomienda encarecidamente usar años de 4 dígitos, especialmente al escribir fechas.
Problemas comunes con las columnas de fecha y hora de Dataverse
La columna "Solo fecha" muestra la fecha incorrecta para algunos usuarios
Este problema puede producirse para los comportamientos de ajuste de zona horaria independiente y local del usuario, que siempre tienen un componente de hora. Los ajustes de zona horaria, ya sea por Dataverse o la aplicación de lienzo, pueden mover la fecha hacia delante o hacia atrás por un día.
Para resolver este problema, muestre el componente de hora del valor y compruebe la configuración de ajuste de zona horaria.
El formulario muestra un selector de hora para una columna aunque su formato sea "Solo fecha".
Este problema puede producirse para los comportamientos de ajuste de zona horaria independiente y local del usuario, que siempre tienen un componente de hora. Si agrega dicha columna a un formulario, el formulario asume que también necesita una hora.
Si no desea que los usuarios vean o editen el componente de hora del valor,
Quite el selector de hora.
En el caso de las columnas locales de usuario que no necesitan ajustes de zona horaria, cambie su comportamiento de ajuste a Solo fecha.
Nota:
Esto es diferente del formato De solo fecha. Este es un cambio permanente y no se puede deshacer. Es posible que otras aplicaciones, complementos o flujos de trabajo que han ajustado previamente la columna para las zonas horarias no funcionen correctamente.
Consulte también
Comportamiento y formato de la columna Fecha y hora de Dataverse