Actualmente, la hora se muestra como 13:35 PM. Sin embargo , quiero mostrar como formato de 12 horas con AM / PM, es decir, 1:35 PM en lugar de 13:35 PM
El código actual es el siguiente
private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
formatDate.setTimeZone(userContext.getUser().getTimeZone());
model.addAttribute("userCurrentTime", formatDate.format(new Date()));
final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
/ FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
model.addAttribute("offsetHours",
offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
return "systemclock";
}
java
date-format
ronan
fuente
fuente

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");Respuestas:
La forma más fácil de obtenerlo usando el patrón de fecha
h:mm a, dondeFragmento de código :
Leer más sobre documentación - SimpleDateFormat java 7
fuente
Utilizar este
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");Documentos de Java para SimpleDateFormat
fuente
DateTimeFormatterclase, según JSR 310.usar en
"hh:mm a"lugar de"HH:mm a". Aquíhhpara el formato de 12 horas yHHpara el formato de 24 horas.Demo en vivo
fuente
Salida: 11-Sep-13 12.25.15.375 PM
fuente
h se usa para los horarios AM / PM (1-12).
H se usa por 24 horas (1-24).
a es el marcador AM / PM
m es minuto en hora
Nota: Dos h imprimirá un cero a la izquierda: 01:13 p.m. Se imprimirá una h sin el cero inicial: 1:13 PM.
Parece que básicamente todo el mundo ya me ganó, pero estoy divagando
fuente
fuente
Usando Java 8:
La salida está en
AM/PMformato.fuente
LocalellamandowithLocaleal objeto formateador para determinar el lenguaje humano y las normas culturales que se utilizarán para generar el textoAM/PM.Simplemente reemplace la siguiente declaración y funcionará.
fuente
Si desea la hora actual con AM, PM en uso de Android
Si desea la hora actual con am, pm
O
Desde API nivel 26
fuente
SimpleDateFormatclase desactualizada y notoriamente problemática . Al menos no como la primera opción. Y no sin ninguna reserva. Hoy tenemos mucho mejor enjava.timela moderna API de fecha y hora de Java y susDateTimeFormatter.DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)(u otro idioma de habla inglesa).Esto mostrará la fecha y hora
fuente
fuente
tl; dr
Deje que las clases modernas java.time de JSR 310 generen automáticamente texto localizado, en lugar de codificar el reloj de 12 horas y AM / PM.
Localizar automáticamente
En lugar de insistir en un reloj de 12 horas con AM / PM, es posible que desee dejar que java.time se localice automáticamente para usted. Llamar
DateTimeFormatter.ofLocalizedTime.Para localizar, especifique:
FormatStylepara determinar qué tan larga o abreviada debe ser la cadena.Localepara determinar:Aquí obtenemos la hora actual del día como se ve en una zona horaria particular. Luego generamos texto para representar ese tiempo. Localizamos el idioma francés en la cultura de Canadá, luego el inglés en la cultura de los Estados Unidos.
Vea este código en vivo en IdeOne.com .
fuente
fuente
Para poner su formato actual de fecha y hora móvil en
usted puede mostrar a su
Activity,Fragment,CardView,ListViewen cualquier lugar mediante el uso deTextViewfuente
fuente
Puede usar SimpleDateFormat para esto.
Espero que esto te ayude.
fuente