Comment régler la minuterie à exécuter à temps spécifique en c#
J'ai une exigence où j'ai besoin d'exécuter minuterie à 00:01:00 A. M tous les jours...Mais je ne reçois pas comment atteindre cet objectif ..Si je suis prise de Systèmes temps,il peut être un format différent..
Voici mon code timer..
static System.Timers.Timer timer;
timer = new System.Timers.Timer();
timer.Interval = 1000 * 60 * 60 * 24;//set interval of one day
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
start_timer();
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//Add timer code here
}
private static void start_timer()
{
timer.Start();
}
Nico réponse ne sera exacte ou fiable. Subvention de la réponse est une meilleure solution, vous avez besoin d'interroger et de contre-vérifier les données DateTime.Maintenant
OriginalL'auteur Adi | 2014-01-23
Vous devez vous connecter pour publier un commentaire.
Ce que vous devez faire est d'écrire votre programme qui fait tout ce que vous avez besoin de faire, et ensuite utiliser votre système d'exploitation intégré dans le planificateur de tâches pour le feu éteint. Ce serait la plus fiable. Windows du Planificateur de Tâches, par exemple, peut commencer à votre application avant que l'utilisateur se connecte, gérer le redémarrage de l'application, si nécessaire, des erreurs dans le journal et envoyer des notifications, etc.
Sinon, vous devrez exécuter votre application 24/7, et de sondage pour l'heure à intervalles réguliers.
Par exemple, vous pouvez modifier l'intervalle de chaque minute:
Et à l'intérieur de votre
Elapsed
cas, vérifier l'heure actuelle:Mais ce n'est vraiment pas fiable. Votre application peut se bloquer. Et de traiter avec DateTime peut être délicat.
OriginalL'auteur Grant
Si vous voulez démarrer une minuterie exactement 00:01:00am faire un certain temps et ensuite redémarrer le compte à rebours vous suffit de calculer la différence entre
Now
et la prochaine 00:01:00 heure de jeu.mise à jour de la réponse à commencer à 00:01:00 AM
Cela ne fonctionnera pas. Compteurs ne sont pas précis stackoverflow.com/questions/10605639/... Il mesure les tiques, elles peuvent être compensées par l'utilisation élevée de l'uc
Un meilleur lien décrivant pourquoi c'est un problème stackoverflow.com/questions/416522/...
il n'a pas besoin d'être un temps-réel problème. approximativement à 1 h ou 1 h et une seconde, il veut que quelque chose se produise. Il est vrai que les Minuteries peuvent avoir de légers retards. mais il est assez bon pour la plupart des scénarios. pour thous scénarios, vous pouvez utiliser MMTimer codeproject.com/Articles/5501/...
OriginalL'auteur Nico
Vous pouvez toujours calculer:
stackoverflow.com/questions/416522/...
OriginalL'auteur itsme86