2010-01-01 5 views
0

J'ai une application sur un serveur basé au Royaume-Uni.C# Synchronisation de différents fuseaux horaires

Dire que j'avais besoin de l'application pour s'exécuter en même temps pour différents pays. Pour les arguments, disons que j'en avais besoin pour envoyer un e-mail à une boîte aux lettres chaque fois qu'il est 19 heures dans différents pays.

Comment pourrais-je y parvenir? Pour l'instant je l'ai juste fonctionnant du planificateur de tâche au moment spécifique (ce qui est bien pour des clients basés au RU). Cependant, j'aimerais soutenir internationalement.

Merci.

Répondre

2

Stockez la date/l'heure sous la forme UTC, puis calculez l'heure pour le fuseau horaire de chaque emplacement.

plesae voir: C# - Convert UTC/GMT time to local time

+1

Il est la deuxième partie qui est le peu dur. Noda Time n'est pas encore tout à fait prêt mais bientôt il sera une bonne solution pour les calculs de fuseau horaire dans .NET: http://code.google.com/p/noda-time/ –

+0

Ok donc lors du stockage du DateTime (lors de l'utilisation du système DateTime) Je devrais toujours utiliser UTC. Cependant, à partir de mon exemple où j'utilise simplement Task Scheduler et exécute l'application à 19h, comment pourrais-je travailler quand il est 19h dans différents pays pour qu'il se déclenche? – James

+0

C'est à peu près ce que je devais faire. – James

Questions connexes