Je veux démarrer ScheduledExecutorService exactement 12 heures par jour, le calendrier doit commencer aujourd'hui à 22/02/2017 00:00:00 (heure UTC), Quelqu'un peut-il me dire si mon code est correct ou pas?ScheduledExecutorService exécuter tous les soirs à 12 heures heure UTC
DateTime today = new DateTime().withTimeAtStartOfDay();
DateTime startOfTommorrow = today.plusDays(1).withTimeAtStartOfDay();
Long midnight = startOfTommorrow.getMillis();
long midnights = (midnight/1000)/60;
final DateFormat nextDateTymFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("***********************************");
System.out.println("Schedule Updater "+nextDateTymFormat.format(new Date()));
System.out.println("today "+today);
System.out.println("startOfTommorrow "+startOfTommorrow);
System.out.println("midnight Long "+midnight);
System.out.println("***********************************");
vitalScheduleThread.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("Hello vitalSchService !!"+nextDateTymFormat.format(new Date()));
Thread.currentThread().setName("vitalSchService");
//sendMail();
vitalSchedule.process(springContext);
}
}, midnight , 86400000 , TimeUnit.MILLISECONDS
);
Salut, Oui mon temps de serveur sera toujours UTC, je vais vérifier avec vos changements plus tard, Mais s'il vous plaît vérifier mon code et laissez-moi savoir si mon code est correct ou non selon mon exigence mentionné dans le quesion – kavie
pour vous avertir que vous ne devez pas * supposer que votre fuseau horaire actuel par défaut sera toujours UTC. C'est un fait hors de votre contrôle en tant que programmeur. Il n'y a pas besoin de s'appuyer sur la zone par défaut actuelle, alors pourquoi le risquer? Il suffit de passer 'ZoneOffset.UTC' comme indiqué dans mon code et vous avez un problème de moins à s'inquiéter. Vous avez dit que l'exigence est de courir à minuit UTC, et ne pas spécifier le fuseau horaire est le plus grand risque que je vois pour que cela se passe mal. –
Ok Laissez-moi vérifier – kavie