64 votes

Vacances - existe-t-il une implémentation Java?

Je voudrais savoir si il y a un pot-de fichier qui peuvent effectuer les opérations suivantes:

DateMidnight dateInQuestion = new DateMidnight(12,12,2000);
DateChecker.isNationalHoliday(dateInQuestion, Locale.ITALY);

Si il n'y en a pas, pourquoi? Il y a sûrement beaucoup de correctement selon les règles pour les vacances dans 99% des fois.

Droit maintenant, nous sommes mainting une table dans notre base de données, avec les pays en + nous avons certains de la mise en œuvre quand il s'agit de jours fériés qui ne sont pas à la même date chaque année. Nous devons ajouter à notre mise en œuvre pour chaque nouveau pays, nous obtenir de nouveaux clients.

Pourrions-nous faire de ce un moyen plus facile?

(Si il n'y a pas une telle chose dans la java de la sphère, puis-je de port à partir d'une autre langue?)

18voto

Sven Points 41

J'ai écrit le Jollyday API et je suis curieux de savoir ce qui est "rude" à ce sujet. Comment puis-je l'améliorer? Serait formidable d'entendre de vous. Envoyez-moi un e-mail à sdiedrichsen@yahoo.de si vous le souhaitez.

Par la voie. Jollyday est utilisé exactement de la manière que l'interlocuteur le demande. S'il vous plaît regardez par vous-même.

Cheers, Sven

P. S.: j'ai trouvé un libre-service web à partir d'Ulrich Hilger qui fournit des informations détaillées dans le monde entier de vacances info. Regardez api.daybase.l'ue

14voto

BalusC Points 498232

Rien de solide existe pas en Java pour autant que je sais. Il est également bon, ce genre d'information est extrêmement sensible aux changements. Coder en dur serait de rendre votre code potentiellement briser à chaque mise à jour Java qui peuvent conduire à beaucoup d'entretien et les problèmes de compatibilité. Actuellement au plus haut les fuseaux horaires sont codés en dur/maintenus dans Java SE et même seul qui a déjà conduit à de nombreux bugs.

Utilisez plutôt un public webservice pour que. E. g. http://www.bank-holidays.com

Ce site vous informe de tous les jours, quand les banques (ainsi que de la bourse & vacances scolaires dans un certain nombre de pays) sont fermés en raison de religieux ou de manifestations publiques. Les grands événements (élections, a annoncé les grèves, les foires, les festivals, les événements sportifs...) sont également répertoriés.

Notre SERVICE GRATUIT vous permet d'afficher l'année civile en cours (affichage uniquement). Pour 2 euros/pays/année, notre SERVICE de PAIE (cliquez sur l'icône de la carte de crédit) vous donne accès à des années civiles 2000-2070.

Et écrire un wrapper Java autour de cela. Ou chercher pour Java API qui sont à leur tour d'ores et déjà soutenue par un webservice.

5voto

Guy Points 158

J'ai également écrit un wrapper java autour de Ruby Holidays Gem (disponible sur Github: https://github.com/gdepourtales/holidays . Il fonctionne de la même manière que Jollyday ( http://sourceforge.net/projects/jollyday/ ).

2voto

Pops Points 10137

Ma recherche a mis en évidence deux résultats (en plus de ce que j'ai énuméré dans les commentaires). La première, les Vacances de l'API Client, semble être un projet mort. La deuxième, Jollyday, ressemble à une très rude, mais active, les travaux en cours.

Comme pour pourquoi il n'y a pas de bonne bibliothèque, je suis avec Tom. Je soupçonne que votre prémisse "il y a Sûrement beaucoup de correctement selon les règles pour les vacances dans 99% des fois" est incorrecte.

0voto

Willem van Rumpt Points 3779

Je pense que vous devrez faire le travail vous-même.

Les fêtes nationales sont déterminées par les nations. Ils peuvent changer et, par définition, ne sont pas universels et ne peuvent donc pas être capturés par un algorithme.

La seule façon de les suivre est de les conserver pays par pays.

Peut-être que quelqu'un le fait déjà (peut-être un service Web), mais j'en doute, pour être honnête.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X