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
DateTimeFormatter
clase, según JSR 310.usar en
"hh:mm a"
lugar de"HH:mm a"
. Aquíhh
para el formato de 12 horas yHH
para 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/PM
formato.fuente
Locale
llamandowithLocale
al 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
SimpleDateFormat
clase desactualizada y notoriamente problemática . Al menos no como la primera opción. Y no sin ninguna reserva. Hoy tenemos mucho mejor enjava.time
la 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:
FormatStyle
para determinar qué tan larga o abreviada debe ser la cadena.Locale
para 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
,ListView
en cualquier lugar mediante el uso deTextView
fuente
fuente
Puede usar SimpleDateFormat para esto.
Espero que esto te ayude.
fuente