¿Cómo convertir el formato 24 horas en formato 12 h?
En mi aplicación quiero convertir el CDT dado formato de 24 hr en cadena CDT 12 hr string, ¿Cómo convertir una cadena de formato de 24 hr en 12 hr cadena de formato?
- Cómo enviar la dirección en la aplicación de Android a Google Maps
- SQlite Obteniendo las ubicaciones más cercanas (con latitud y longitud)
- Configuración de orientación múltiple - Android
- cómo pasar los parámetros a la urlconnection en java / android?
- Problemas de tiempo de espera de conexión HTTP
- Cómo crear un juego simple android?
- Aplicación del tema AppCompat a las preferencias individuales en un archivo PreferenceFragment
- ¿Cómo puedo enlazar este servicio en Android?
- NullPointerException Causado por getActionBar ()
- Android Studio: Buildtools 24.0.1 requiere Java 1.8 o superior.
- No se puede resolver la actividad para: Intención cuando se realizan pruebas de instrumentación en las actividades de Android
- ¿Cómo puedo eliminar el "+" y el código del país de un número de teléfono?
- ¿Cómo hacer que las aplicaciones de Android con reproductible se basa?
Puede intentar utilizar un objeto SimpleDateFormat
para convertir los formatos de hora.
final String time = "23:15"; try { final SimpleDateFormat sdf = new SimpleDateFormat("H:mm"); final Date dateObj = sdf.parse(time); System.out.println(dateObj); System.out.println(new SimpleDateFormat("K:mm").format(dateObj)); } catch (final ParseException e) { e.printStackTrace(); }
Aquí está el enlace javadoc para SimpleDateFromat.
Aquí está el código para convertir el tiempo de 24 horas a 12 horas con AM y PM. Si usted no quiere AM / PM entonces apenas substituya hh:mm a
con hh:mm
.
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String [] args) throws Exception { try { String _24HourTime = "22:15"; SimpleDateFormat _24HourSDF = new SimpleDateFormat("HH:mm"); SimpleDateFormat _12HourSDF = new SimpleDateFormat("hh:mm a"); Date _24HourDt = _24HourSDF.parse(_24HourTime); System.out.println(_24HourDt); System.out.println(_12HourSDF.format(_24HourDt)); } catch (Exception e) { e.printStackTrace(); } } } //OUTPUT WILL BE //Thu Jan 01 22:15:00 IST 1970 //10:15 PM
Otra solución:
System.out.println(hr%12 + ":" + min + " " + ((hr>=12) ? "PM" : "AM"));
En Java 8 podría hacerse en una línea usando la clase java.time.LocalTime. Ejemplo de código:
String result = LocalTime.parse(time, DateTimeFormatter.ofPattern("HH:mm")).format(DateTimeFormatter.ofPattern("hh:mm a"));
int n=2; int result= n-12; if (result>o) { system.out.println(result+"pm"); } else { system.out.prinln(result+"am"); }
Usted puede utilizar el explorador si usted quiere toma la entrada del usuario Esperanza esto es simple 12 para el tiempo 🙂
En caso de que tenga curiosidad sobre la diferencia entre K, k y H, h:
H Hora en día (0-23) Número 0 1+
K Hora en día (1-24) Número 24 1+
K Hora en am / pm (0-11) Número 0 1+
H Hora en am / pm (1-12) Número 12 1+