"Recordé que quería contarles un poco sobre cómo trabajar con fechas".
"Ya me dijiste que Java tiene la clase Fecha y puedo usar esa clase para trabajar con fechas".
"Hmm. Bueno, la clase Fecha ha estado desactualizada por un tiempo".
"Ahora se recomienda usar en su lugar la clase Calendar, que tiene un método getTime() que devuelve la fecha actual".
"Este es un objeto Calendario que generalmente se crea:"
Calendar cal = Calendar.getInstance();
"Cuando llama a este método, se crea el calendario correcto según la configuración de su computadora".
"¿El calendario 'correcto'? ¿Eso significa que hay varios?"
"Sí. Bueno, sería más exacto decir 'relevante'. El hecho es que la Tierra no tiene uno, sino muchos calendarios. Casi todos ellos están asociados con alguna religión o país".
"El año puede ser diferente dependiendo del país en el que se encuentre".
"Aquí hay ejemplos de los calendarios más comunes".
Clase de calendario | Nombre del calendario |
---|---|
Calendario Gregoriano | calendario gregoriano cristiano |
BudistaCalendario | calendario budista |
JaponésImperialCalendario | Calendario imperial japonés |
"También está el calendario chino, el calendario islámico y muchos más".
"Veo."
"Para obtener la fecha actual, debe escribir un código como este:"
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
"La clase Calendar tiene muchos métodos que le permiten obtener rápidamente cualquier información sobre una fecha y hora".
Código | Comentarios |
---|---|
|
era año mes día del mes día de la semana (lunes, martes, miércoles, …) hora minuto segundo |
"A veces, realmente solo necesita obtener una parte de la información disponible. Por ejemplo, el año actual o el día de la semana".
"Pero a veces simplemente necesitas mostrar la fecha en el formato correcto".
"Por ejemplo, en el archivo de registro o en otro lugar".
"O crea un formato que el usuario pueda personalizar. ¿Qué haces entonces?"
"También hay clases especiales para esto. La clase SimpleDateFormat se adapta perfectamente a la tarea que describiste:"
Calendar calendar = Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("MM-DD-YY");
String message = formatter.format(calendar.getTime());
"Ah. Lo recuerdo. Ya me explicaste algo sobre SimpleDateFormat , pero honestamente no recuerdo mucho".
"Todo es muy simple. Creas un objeto SimpleDateFormat y le pasas el patrón de fecha que deseas obtener. Luego llamas al método de formato y te da la fecha pasada en la forma deseada".
"Suena interesante. Me gustaría más detalles".
"Aquí tienes. Los detalles. Estas son algunas de las letras que se pueden usar en el patrón de fecha:"
Carta | Descripción |
---|---|
GRAMO | Reemplazado por la era (AD o BC) |
y | Reemplazado por el año |
METRO | Reemplazado por el mes |
w | Número de semana en el año |
W | Número de semana en el mes |
D | Número de día en el año |
d | Día del mes |
F | Día de la semana en el mes |
mi | Día de la semana |
a | AM/PM (antes o después del mediodía) |
H | Hora en formato de 24 horas (0-23) |
k | Hora en formato de 24 horas (1-24) |
k | Hora en formato de 12 horas (0-11) |
h | Hora en formato de 12 horas (1-12) |
metro | Minutos |
s | Segundos |
S | milisegundos |
z | Zona horaria, con este formato: hora estándar del Pacífico, PST |
Z | Zona horaria, formateada así: -0800/td> |
"¡Genial! Eso es casi todo lo que necesitas".
"Todavía hay algunos matices relacionados con la repetición de estas letras".
"Si escribes YY, obtendrás los dos últimos dígitos del año. Si escribes YYYY, obtendrás los cuatro dígitos del año".
"También hay cierta complejidad con los meses. MM es el número del mes. MMM es una abreviatura de tres letras del mes, es decir, enero, febrero, marzo, abril, mayo, etc. MMMM representa el nombre completo del mes ."
"También puede mostrar el día completo de la semana (usando EEEE) o solo las dos primeras letras (usando EE)".
"Gracias, Rishi. Esta clase SimpleDateFormat realmente es útil. Ahora lo sé".
"¡Disfruta usándolo! ¡Y buena suerte!"
GO TO FULL VERSION