Date et heure

Générateur cron Quartz · Vérifier les dates avant de planifier

Analysez une expression Java Quartz et consultez les dates qui correspondent à ses conditions.

Générateur cron Quartz

Expression

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Champs et dates correspondantes

Options

Date ISO avec secondes. Sans fuseau, la zone IANA choisie s’applique. Une heure répétée/absente exige Z ou un décalage. Année locale de départ : 1970–2099.

Heures absentes ignorées ; heures répétées au décalage le plus tardif, sans revenir avant le départ local. Les données navigateur/JVM et les paramètres du déclencheur peuvent différer.

512 unités UTF-16, 1–1 000 dates, dix années civiles locales et année 2099 au maximum. Arrêt après cinq secondes de calcul.

Constructeur par champs

Les modifications restent dans le brouillon jusqu’à l’application de l’aperçu.

0 0 9 ? * MON-FRI

Seconde/minute 0–59 ; heure 0–23 ; jour 1–31 ; mois 1–12 ; semaine 1=DIM–7=SAM ; année 1970–2099 (vide pour omettre). Un seul champ de jour doit être ?.

Sous-ensemble Java Quartz 2.3.2 : listes, plages, pas numériques, ?, L, L-n, LW, nW, nL et n#k. Sélecteurs spéciaux isolés. Pas de pas nommés, plages mixtes ou L-nW.

L’entrée ou les options ont changé. Actualisez les résultats avant l’export.

Le Générateur cron Quartz permet de vérifier une échéance telle que le dernier jour ouvré du mois. Si le mois finit un dimanche, cette date diffère de son dernier jour calendaire. Une liste de dates permet de contrôler ce choix avant de configurer le déclencheur.

Ce générateur d'expressions cron associe un constructeur cron par champs à la lecture d’une expression cron Quartz existante. Une syntaxe valide ne garantit pas une liste complète : une règle visant le 31 février ne produit aucune date, même si ses nombres sont autorisés.

Pourquoi utiliser ce Générateur cron Quartz

Conserver le choix entre jour et semaine

Le Générateur cron Quartz demande exactement un ? entre le jour du mois et le jour de la semaine. En cas de conflit, il conserve la saisie et indique le champ concerné. Il ne supprime pas une condition à votre place : le brouillon doit être prévisualisé puis appliqué.

Deux chemins de conditions, jour du mois et jour de la semaine, partent d’une saisie ; un seul est sélectionné.

Comparer fin de mois et dernier jour ouvré

L sélectionne la dernière date du calendrier ; LW sélectionne le dernier lundi à vendredi du mois. Si la fin du mois tombe un dimanche, LW pointe sur le vendredi précédent. Ce contraste aide à vérifier les traitements de clôture sans supposer que tous les mois ont 31 jours.

Deux calendriers identiques soulignent le dernier dimanche et le vendredi précédent, avec les colonnes du week-end ombrées.

Relier le brouillon à sa fenêtre de recherche

01

Lire les champs sans remplacer la saisie

Charger les champs décompose l’expression courante dans le brouillon. Les modèles ne changent eux aussi que ce brouillon. Une année vide donne six champs, une année renseignée sept. L’aperçu indique les modifications ; Annuler la modification restaure ensemble saisie, réglages et résultat.

02

Définir un instant de départ explicite

L’exemple commence le 1er janvier 2026 en UTC. Maintenant prépare une nouvelle valeur à confirmer. Utilisez une date ISO avec les secondes. Sans décalage, la zone IANA choisie s’applique ; une heure locale répétée ou absente exige Z ou un décalage explicite.

03

Vérifier le nombre de dates trouvé

L’affichage avance par lots de 50 dates. La copie inclut le rapport complet et le téléchargement fournit du JSON. Le calcul automatique attend 350 ms ; désactivez-le pour utiliser Analyser ou Ctrl/Cmd + Entrée. Toute modification bloque immédiatement l’export d’un résultat périmé.

Comprendre les conditions de chaque occurrence

Secondes obligatoires, année facultative

L’ordre est seconde, minute, heure, jour, mois, jour de semaine, puis éventuellement année. L’expression normalisée conserve la présence ou l’absence de cette année. Une expression à six champs contient donc toujours les secondes.

Jours relatifs calculés dans le mois

L-n recule de n jours depuis la fin du mois. nW cherche le lundi à vendredi le plus proche, sans changer de mois. nL désigne le dernier jour de semaine choisi et n#k sa kième occurrence. FRI#3 et 6L peuvent ainsi sélectionner deux vendredis différents.

Plages qui traversent une limite

22-2 couvre les heures autour de minuit et NOV-FEB traverse la fin de l’année. La minute 5/15 choisit 5, 20, 35 et 50, puis recommence à chaque heure. Les pas numériques appartiennent à leur champ ; les plages d’années doivent rester croissantes.

Prochaines exécutions avec leur contexte

Chaque occurrence donne la date locale, son décalage UTC et l’instant UTC. Le rapport conserve le départ et la limite de recherche. Les règles rares affichent le nombre demandé et le nombre trouvé séparément, pour rendre visible une prévision incomplète.

Syntaxe admise et limites de la prévision

Un sous-ensemble courant de Java Quartz 2.3.2
Une ligne de six ou sept champs, limitée à 512 unités UTF-16. Aucun adaptateur Spring, Quartz.NET, AWS ou Jenkins. Secondes et minutes : 0–59 ; heures : 0–23 ; mois : 1–12. Dimanche vaut 1 et samedi 7. Un seul des deux champs de jour doit contenir ?.
Les sélecteurs spéciaux restent isolés
Le jour accepte L, L-1 à L-30, LW et 1W à 31W. Le jour de semaine accepte L seul pour samedi, nL et n#1 à n#5. Les listes de sélecteurs spéciaux, plusieurs # et L-nW sont refusés. Une condition composite peut nécessiter plusieurs déclencheurs.
Séparer noms et pas numériques
JAN–DEC et SUN–SAT sont insensibles à la casse. Les deux bornes d’une plage doivent être des noms ou des nombres. Un pas avec des noms, tel que JAN-MAR/2, ou une plage mixte est refusé. Préférez un pas numérique ou une liste explicite pour éviter les interprétations surprenantes du parseur Java.
Ignorer les dates absentes, borner la recherche
Un 31, un 31W ou un cinquième jour de semaine absent est ignoré, sans déplacement à la fin du mois. W couvre lundi à vendredi, sans jours fériés. Années et année locale de départ : 1970–2099. Recherche sur dix années civiles locales au maximum, 1 000 résultats et cinq secondes de calcul.
Aucune exécution de tâche simulée
Les heures absentes lors d’un changement d’heure sont ignorées. Les heures répétées utilisent normalement le décalage le plus tardif, sans revenir avant les champs locaux du départ. Les données de fuseau du navigateur et de la JVM peuvent différer. Calendriers fériés, misfires, reprises, concurrence et exécution des tâches sont hors périmètre.

Questions sur le Générateur cron Quartz

Pourquoi utiliser un point d’interrogation dans un champ de jour ?

? signifie qu’aucune valeur précise n’est imposée dans ce champ. * sélectionne toutes les valeurs. Pour les jours de semaine à neuf heures, écrivez 0 0 9 ? * MON-FRI. Pour tous les jours à neuf heures, écrivez 0 0 9 * * ?. Les deux champs ne peuvent pas recevoir chacun une condition précise.

Comment lancer une tâche le dernier jour de chaque mois ?

0 0 9 L * ? sélectionne la dernière date du mois à 09:00, quelle que soit sa longueur. LW sélectionne plutôt le dernier lundi à vendredi. Cela ne remplace pas un calendrier de jours fériés et ne garantit pas que la tâche terminera le même jour.

Que se passe-t-il si le jour demandé n’existe pas ?

Le mois ne fournit aucune occurrence. Une règle pour le 31 ignore avril ; le 31 février ne correspond jamais ; MON#5 ignore les mois à quatre lundis. Le nombre de résultats dans la fenêtre est affiché même s’il reste inférieur à la demande. Ce cas est distinct d’une erreur de syntaxe.

Comment viser le dernier jeudi de chaque mois ?

Utilisez 0 0 9 ? * THUL, ou 0 0 9 ? * 5L. En Java Quartz, dimanche vaut 1 et jeudi 5. THU#4 désigne le quatrième jeudi : ce n’est pas forcément le dernier si le mois compte cinq jeudis.

Pourquoi une expression à cinq champs est-elle refusée ?

Java Quartz exige les secondes, soit six champs obligatoires, et permet une année en septième position. Une expression Linux à cinq champs n’est donc pas directement utilisable. Ajouter 0 devant ne suffit pas à vérifier les différences de numérotation et de conditions sur les jours.

Une date inattendue ?

Vérifier le calendrier avant de configurer le déclencheur

Avec le Générateur cron Quartz, contrôlez les champs et les dates trouvées avant de copier la règle dans votre configuration Java Quartz. Vérifiez ensuite le fuseau et la politique du déclencheur dans cet environnement.

Une date correspondante est une prévision, pas une preuve d’exécution.