Comment puis-je utiliser le calendrier Maya en Java?Calendrier maya en Java
Répondre
LOL, Voulez-vous définir la dernière date au 21 décembre 2012? mais ça ne s'arrête pas là, ça recommence, donc vous voulez recommencer à compter après le 21 décembre 2012?
La meilleure façon d'utiliser d'autres calendriers/chronologies en Java est l'excellente bibliothèque Joda-Time. Il n'a pas de chronologie maya en soi, mais vous pouvez corriger votre propre implémentation des règles mayas et la brancher. Cela ne devrait pas être trop onéreux.
Je ne sais pas si c'est si facile, même Jon Skeet a punted: http://msmvps.com/blogs/jon_skeet/archive/2009/11/06/noda-time-is-born.aspx#1738663 – Thilo
Il écrit une ligne droite port, et veut se concentrer sur cela plutôt que des fonctionnalités supplémentaires telles que de nouvelles chronologies. Je pense que c'est assez juste, sans indiquer à quel point il serait difficile d'écrire une nouvelle chronologie. – GaryF
Utilisez JodaTime. Oups, désolé, juste un réflexe en lisant une question à propos de java.util.Calendar ;-)
Il ya quelques Java applets sur le web qui pourraient vous être utiles.
Votre calendrier est-il épuisé maintenant? :-)
+1 Pour s'amuser –
Si vous cherchez vraiment une solution, ce Maya Calendar implementation semble assez bon.
Il implémente une maya Tzolk'in calender en utilisant Java GregorianCalendar
. Les dates peuvent être récupérées au format Grégorien ou Tzolk'in.
Voici les éléments essentiels:
[...]
/** parses Date specified in Long Count format, e.g. "12.19.19.17.19" */
public void parseLongCountDate (String longCountDate) {
String [] components = longCountDate.split("\\.");
try {
if (components.length != 5)
throw new Exception("Expecting 5 numbers separated by dots");
int baktuns = Integer.valueOf(components[0]);
int katuns = Integer.valueOf(components[1]);
int tuns = Integer.valueOf(components[2]);
int winals = Integer.valueOf(components[3]);
int kins = Integer.valueOf(components[4]);
set (baktuns, katuns, tuns, winals, kins);
} catch (Throwable e) {
throw new IllegalArgumentException("Invalid long count date format: "
+ e.getMessage());
}
}
/** Set date to given long count date */
public void set (int baktuns, int katuns, int tuns, int uinals, int kins) {
assert MayaTimeUnit.Kin.toDays (1) == 1;
daysSinceGreatCycle =
MayaTimeUnit.Baktun.toDays (baktuns) +
MayaTimeUnit.Katun.toDays(katuns) +
MayaTimeUnit.Tun.toDays(tuns) +
MayaTimeUnit.Winal.toDays(uinals) +
kins;
}
[...]
/** @return day name number in Tzolk'in calendar, e.g. it returns 0 (Ajaw) for the day "4 Ajaw" */
public Tzolkin toTzolkinDayName() {
// The Tzolk'in date is counted forward from 4 Ajaw.
return Tzolkin.DAYS[(daysSinceGreatCycle + 19) % 20]; // relative to Ajaw
}
/** @return day number in Tzolk'in calendar, e.g. it returns 4 for the day "4 Ajaw" */
public int toTzolkinDayNumber() {
// The Tzolk'in date is counted forward from 4 Ajaw.
return (daysSinceGreatCycle + 4) % 13;
}
[...]
/** @return day name number in Haab calendar, e.g. it returns Yaxkin (5) for the day "14 Yaxk'in" */
public Haab toHaabDayName() {
int d = (daysSinceGreatCycle + 349) % 365;
return Haab.DAYS[d/20];
}
/** @return day number in Haab calendar, e.g. it returns 14 for the day "14 Yaxk'in" */
public int toHaabDayNumber() {
int d = (daysSinceGreatCycle + 349) % 365;
return d % 20 - 1;
}
[...]
/** @return Gregorian calendar representation of currently set date */
public String toGregorianString() {
Calendar c = toGregorianDate();
return format.format(c.getTime());
}
/** @return Converts currently defined date into Gregorian calendar */
public Calendar toGregorianDate() {
Calendar c = (Calendar)greatCycleStartDate.clone();
c.add(Calendar.DAY_OF_YEAR, daysSinceGreatCycle);
return c;
}
[...]
Dans tous les cas: question cool :-)
- 1. API Maya en C++
- 2. Calendrier de planification Java
- 3. Moteur de calendrier Java
- 4. calendrier google api java
- 5. Problème arithmétique du calendrier Java
- 6. Création d'une interface utilisateur Maya
- 7. Comment créer un objet de calendrier en Java
- 8. Comment créer un objet de calendrier Epoch approprié en Java?
- 9. Demander calendrier Gregorian pour l'heure de la journée en java
- 10. Java - Conversion d'un datetime en heure de calendrier grégorien (date)
- 11. perspectives commencent l'heure au calendrier de Java?
- 12. Outlook calendrier connectivité avec Java Web Service
- 13. Programmation Maya: Séparer les attributs en sections dans l'éditeur d'attributs
- 14. Objets du calendrier de correspondance dans Java?
- 15. Evénements de planification de calendrier Java
- 16. Maya 3D importer à OpenGL ES
- 17. Calendrier en jsp
- 18. Calendrier en ligne
- 19. Calendrier Outlook Synchroniser avec calendrier personnalisé
- 20. maya exporter au format flash 10
- 21. Importer Maya 3D à Papervision 3D
- 22. compilation maya (application 3d) avec qt
- 23. Dates du calendrier en gras
- 24. contrôle de calendrier en qt
- 25. KeyListener et le calendrier
- 26. Problèmes TimeZone utilisant Lotus Java/CORBA session.createDateTime (Calendrier)
- 27. Synchronisation bidirectionnelle entre le calendrier d'échange ms et l'application Java
- 28. widget calendrier django
- 29. Script Maya MEL pour créer des surfaces implicites
- 30. Commande AttrFieldSliderGrp utilisée dans MEL/Python dans Maya
Est-ce le problème Y2012? – Thilo
LOL c'est un bon –
Honnêtement la meilleure question de tous les temps. – ponzao