¿Cómo puedo usar el calendario Maya en Java?Calendario maya en Java
Respuesta
LOL, intente configurar la fecha de la última selección hasta el 21 de diciembre de 2012? pero realmente no termina ahí, solo comienza de nuevo, ¿quiere comenzar a contar nuevamente después del 21 de diciembre de 2012?
La mejor manera de utilizar otros calendarios/cronologías en Java es la excelente biblioteca Joda-Time. No tiene una cronología maya en sí misma, pero podría corregir su propia implementación de las reglas mayas y conectarla. No debería ser demasiado oneroso.
No estoy seguro de si es tan fácil, incluso Jon Skeet señaló: http://msmvps.com/blogs/jon_skeet/archive/2009/11/06/noda-time-is-born.aspx#1738663 – Thilo
Está escribiendo una escalera puerto, y quiere centrarse en eso en lugar de características adicionales, como nuevas cronologías. Creo que es justo, sin indicar lo difícil que sería escribir una nueva cronología. – GaryF
Use JodaTime. Vaya, lo siento, solo un reflejo al leer una pregunta sobre java.util.Calendar ;-)
Hay algunos Java applets en la web que pueden ser útiles para usted.
¿Se le acabó su calendario ahora? :-)
+1 Por diversión –
Si realmente está buscando una solución, esta Maya Calendar implementation parece bastante buena.
Implementa un maya Tzolk'in calender utilizando Java GregorianCalendar
. Las fechas se pueden recuperar en formato Gregorian o Tzolk'in.
Estas son las partes fundamentales:
[...]
/** 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;
}
[...]
en todo caso: pregunta fresca :-)
- 1. Java Calendario regresa diferentes fechas
- 2. Java inicializar un calendario en un constructor
- 3. Agregar a Java año calendario no funciona
- 4. Utilizando MAYA modelo 3D en una aplicación .Net
- 5. visualización de calendario, elegir una fecha en Java
- 6. Java: Obtenga cualquier día en una semana del Calendario
- 7. Cómo convertir el calendario a java.sql.Date en Java?
- 8. Restablecer tiempo parte de la instancia de Calendario en Java
- 9. ¿Cómo usar el calendario YUI en Java Wicket?
- 10. Mostrar calendario en php
- 11. ¿Cómo se maneja el calendario TimeZones usando Java?
- 12. Repetición de "Eventos" (Calendario)
- 13. Calendario de Javascript
- 14. Copia defensiva del calendario
- 15. ASP.NET MVC AJAX Calendario
- 16. algoritmo planificador de calendario
- 17. ¿Alternativa al calendario completo?
- 18. Apple iCloud calendario API
- 19. Eliminar entradas del calendario
- 20. ¿Cómo se establece la hora y solo el tiempo en un calendario en Java?
- 21. Interfaz de usuario de calendario en Android
- 22. Ejemplo de calendario completo en jquery
- 23. Mesas de calendario en PostgreSQL 9
- 24. Cómo crear un calendario simple en android
- 25. Almacenamiento de datos de calendario en MySQL
- 26. No hay calendario en el emulador
- 27. Visualización básica del calendario en R
- 28. I18n y calendarios: ¿el sistema de calendario puede permanecer como el calendario gregoriano?
- 29. cómo obtener datos de calendario para una fecha determinada en el calendario de Google API v3?
- 30. Error: el calendario no se puede resolver en JSP
¿Esto es por el problema Y2012? – Thilo
LOL esa es una buena –
Honestamente, la mejor pregunta de todas. – ponzao