Comportamiento:
Con mi Platform API Tool accedo a los indexvalues de un documento. Pero los valores de fecha que obtengo no coinciden con los valores que obtengo en DocuWare WebClient.
Causa:
DocuWare guarda los valores de fecha en la base de datos en la zona horaria UTC. El WebClient calcula la fecha automáticamente para que coincida con la zona horaria actual del PC cliente. La API de la plataforma no hace esto. Simplemente entrega el valor de la base de datos.
Solución:
Hay diferentes formas de adaptar el valor a la zona horaria en la que se encuentra el PC del cliente. Aquí hay dos maneras posibles:
- Obtener la diferencia entre UTC y la zona horaria del PC cliente y añadir esta diferencia al valor de la base de datos:
DateTime dt = ...//Valor de la base de datos
TimeSpan ts = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now);
DateTime output = dt + ts; - Utilice el método "ToLocalTime()" para objetos Date o DateTime:
DateTime dt = ...//Valor de la base de datos
DateTime output = dt.ToLocalTime();
Tenga en cuenta: Este artículo es una traducción del idioma inglés. La información contenida en este artículo se basa en la(s) versión(es) original(es) del producto(s) en inglés. Puede haber errores menores, como en la gramática utilizada en la versión traducida de nuestros artículos. Si bien no podemos garantizar la exactitud completa de la traducción, en la mayoría de los casos, encontrará que es lo suficientemente informativa. En caso de duda, vuelva a la versión en inglés de este artículo.
