¿Puedes configurar AM/PM en una fecha del calendario gregoriano o es algo que solo puedes obtener?
-
12-12-2019 - |
Pregunta
Eché un vistazo a la API de Java sobre Gregoriancalendar y no vi ninguna forma de establecer el AM/PM en su constructor.¿Puedes configurar AM/PM en una fecha de GregorianCalendar o es algo que solo puedes obtener usando un método de obtención en el calendario?¿Maneja todo esto automáticamente?Estoy buscando tomar am/pm y enviarlo a mi toString para una clase que tiene un objeto de fecha.Iba a utilizar el método get del calendario para obtener esto.Entiendo que am/pm es un int que es 0 o 1.
También me preguntaba si todas las horas son 24 horas en gregoriano y determina automáticamente las horas de la mañana y de la tarde.
Solución
Calendar.get(Calendar.HOUR);
Da la hora (0-12) para el formato AM/PM.
Calendar.get(Calendar.HOUR_OF_DAY);
Da la hora entre 0 y 24.
Hace la conversión por sí solo.No es necesario que lo digas.
cal.set( Calendar.AM_PM, Calendar.AM )
voluntad/podría cambiar el momento puntual que representa este objeto de calendario.(Si es la 1:00PM tendrás la 1:00AM después).Esto es cierto para GregorianCalendar
(ver comentario a la pregunta de Peter Cetinski).
Por cierto/Sugerencia en mi opinión, deberías usar un DateFormat
dar salida su Formato preferido.
Otros consejos
Calendar cal = new GreogorianCalendar();
cal.set( Calendar.AM_PM, Calendar.AM );
Simply I did this :
Calendar calendar = new GregorianCalendar();
int seconds = calendar.get(Calendar.SECOND);
int minutes = calendar.get(Calendar.MINUTE);
int hour = calendar.get(Calendar.HOUR);
int am_pm = calendar.get(Calendar.AM_PM);
String ampm = "ampm";
if (am_pm == 0) {
ampm = "AM";
} else {
ampm = "PM";
}
jLabel1.setText(hour + ":" + minutes + ":" + seconds + " " + ampm);