J'ai une exigence qui va comme suit (croyez-moi, je suis trop vieux pour les devoirs sourire)tâche Calculer les heures de début
J'ai un tas de tâches qui fonctionnent avec des fréquences différentes. Ils ont aussi une date de départ "seed". La graine de départ est quelquefois dans le passé, pourrait être il y a une minute, pourrait être il y a 5 ans. Je dois calculer le temps d'exécution suivant pour la tâche, en utilisant la date et l'heure de début et la fréquence - il ne peut pas simplement être "maintenant" + la fréquence de la tâche (pour ceux qui ont des tâches planifiées sur MS SQL Serveur c'est un concept familier)
Maintenant, la manière stupide de le faire est de prendre le départ de départ et continuer à ajouter la fréquence jusqu'à ce qu'il devienne plus grand que "maintenant". Ce n'est guère optimal. La façon naïve de le faire serait de prendre la date de départ, de la changer à la date d'aujourd'hui et de laisser l'heure telle quelle, puis d'ajouter la fréquence jusqu'à ce qu'elle soit plus grande que maintenant, mais cela suppose que la fréquence est un multiple de 24 heures.
Alors, quel est le meilleur moyen de le faire? Points bonus pour une solution C#, mais cela est assez générique pour faire un puzzle intéressant pour n'importe quelle langue :)
Ceci n'est rien de moins que de la magie noire. Incroyable. –