Mon formulaire Xamarin pour iOS et Android utilise énormément le temps de l'appareil et nécessite une configuration différente selon les pays.Formulaire Xamarin: est-il sécuritaire d'utiliser le fuseau horaire répertorié à l'aide de GetSystemTimeZones?
je fais une recherche et a trouvé cela la liste de tous le fuseau horaire disponible:
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
Console.WriteLine(z.Id);
Dans mon scénario, l'utilisateur peut choisir l'un des sites et définir le fuseau horaire approprié en fonction de l'endroit où leurs sites sont si le temps sera affiché par rapport à leur site choisi.
J'ai exécuté le code et au moins tout le fuseau horaire disponible. On dirait que l'iOS et Android ont une présentation différente de l'Id Timezone. Je suppose que c'est à cause du système différent. Je m'inquiète juste que l'id de timezone ne soit pas complètement énuméré coz notre application s'exécute internationalement, réellement la plupart d'exécution exécutée internationalement. Une autre remarque: le code ci-dessus prendra-t-il également en compte l'économie de lumière du jour? par exemple. En Nouvelle-Zélande, chaque année, la Nouvelle-Zélande doit avancer ou reculer d'une heure par rapport à d'autres pays.
Vous pourriez vouloir regarder 'Noda Time' (http://nodatime.org), vous devriez également lire https://stackoverflow.com/a/2532962/4984832 – SushiHangover
Expliquerez-vous le problème si vous utilisez le code ci-dessus au lieu de nodatime vous avez suggéré? Sur mon iOS, je change la date en mai qui recule d'une heure et affiche l'heure, le retour de l'heure est correct. Pour Oct (maintenant): 10:00 heure nz et 5:00 heure hk. Pour mai, 10:00 heure nz et 6:00 – LittleFunny
Il n'est pas clair comment vous utilisez une heure UTC vs une heure convertie TZ locale (vous utilisez maintenant dans votre question et une heure UTC précédente dans votre commentaire) et les fuseaux horaires ne sont pas la même chose que les compensations. Si vous planifiez un événement "local", utilisez une heure locale qui inclut le décalage par rapport àUne heure UTC comme la différence dépend de quand il se produit dans le futur et la conversion d'un UTC à une heure locale peut entraîner une heure locale différente de celle initialement demandée. Relisez la réponse SO et les commentaires liés à ces sujets. (J'ai recommandé d'examiner Noda car il supprime cette confusion). – SushiHangover