Comportement :
Avec mon outil Platform API, j'accède aux valeurs d'index d'un document. Mais les valeurs de date que j'obtiens ne correspondent pas à celles que j'obtiens dans le Client Web DocuWare.
Cause :
DocuWare enregistre les valeurs de date dans la base de données dans le fuseau horaire UTC. Le WebClient calcule automatiquement la date pour qu'elle corresponde au fuseau horaire actuel du PC client. L'API de la plate-forme n'effectue pas cette opération. Elle fournit simplement la valeur de la base de données.
Solution :
Il existe différentes façons d'adapter la valeur au fuseau horaire du PC client. Voici deux méthodes possibles :
- Obtenir la différence entre UTC et le fuseau horaire du PC client et ajouter cette différence à la valeur de la base de données :
DateTime dt = ...//Valeur de la base de données
TimeSpan ts = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now) ;
DateTime output = dt + ts ; - Utiliser la méthode "ToLocalTime()" pour les objets Date ou DateTime :
DateTime dt = ...//Valeur de la base de données
DateTime output = dt.ToLocalTime() ;
Veuillez noter : Cet article est une traduction de l'anglais. Les informations contenues dans cet article sont basées sur la ou les versions originales des produits en langue anglaise. Il peut y avoir des erreurs mineures, notamment dans la grammaire utilisée dans la version traduite de nos articles. Bien que nous ne puissions pas garantir l'exactitude complète de la traduction, dans la plupart des cas, vous la trouverez suffisamment informative. En cas de doute, veuillez revenir à la version anglaise de cet article.
