java - peru - que hora es en españa en este momento am o pm
Muestra la hora actual en formato de 12 horas con AM/PM (13)
Actualmente la hora se muestra como 13:35 PM. Sin embargo , quiero mostrar el formato de 12 horas con AM / PM, es decir, 1:35 PM en vez 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";
}
La forma más sencilla de obtenerlo es mediante el patrón de fecha - h:mm a
, donde
- h - Hora en am / pm (1-12)
- m - Minuto en hora
- a - marcador de Am / pm
Fragmento de código :
DateFormat dateFormat = new SimpleDateFormat("hh:mm a");
Para poner su formato de fecha y hora móvil actual en
9 de febrero de 2018 10:36:59 p.m.
Date date = new Date();
String stringDate = DateFormat.getDateTimeInstance().format(date);
Puedes mostrarlo a tu Activity
, Fragment
, CardView
, ListView
cualquier lugar usando TextView
` TextView mDateTime;
mDateTime=findViewById(R.id.Your_TextViewId_Of_XML);
Date date = new Date();
String mStringDate = DateFormat.getDateTimeInstance().format(date);
mDateTime.setText("My Device Current Date and Time is:"+date);
`
Puede usar SimpleDateFormat para esto.
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Espero que esto te ayude.
Simplemente reemplace la declaración a continuación y funcionará.
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Utilice este SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
utilice "hh:mm a"
lugar de "HH:mm a"
. Aquí hh
para formato de 12 horas y HH
para formato de 24 horas.
Demo vivo
Usando Java 8:
LocalTime localTime = LocalTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
System.out.println(localTime.format(dateTimeFormatter));
La salida está en formato AM/PM
.
Sample output: 3:00 PM
//To get Filename + date and time
SimpleDateFormat f = new SimpleDateFormat("MMM");
SimpleDateFormat f1 = new SimpleDateFormat("dd");
SimpleDateFormat f2 = new SimpleDateFormat("a");
int h;
if(Calendar.getInstance().get(Calendar.HOUR)==0)
h=12;
else
h=Calendar.getInstance().get(Calendar.HOUR)
String filename="TestReport"+f1.format(new Date())+f.format(new Date())+h+f2.format(new Date())+".txt";
The Output Like:TestReport27Apr3PM.txt
// hh:mm will print hours in 12hrs clock and mins (e.g. 02:30)
System.out.println(DateTimeFormatter.ofPattern("hh:mm").format(LocalTime.now()));
// HH:mm will print hours in 24hrs clock and mins (e.g. 14:30)
System.out.println(DateTimeFormatter.ofPattern("HH:mm").format(LocalTime.now()));
// hh:mm a will print hours in 12hrs clock, mins and AM/PM (e.g. 02:30 PM)
System.out.println(DateTimeFormatter.ofPattern("hh:mm a").format(LocalTime.now()));
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.S aa");
String formattedDate = dateFormat.format(new Date()).toString();
System.out.println(formattedDate);
Salida: 11-sep-13 12.25.15.375 PM
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
Esto mostrará la fecha y la hora
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
h se usa para AM / PM veces (1-12).
H se usa durante 24 horas (1-24).
a es el marcador AM / PM
m es minuto en hora
Nota: Dos h imprimirán un cero inicial: 01:13 PM. Una h se imprimirá sin el cero inicial: 1:13 PM.
Parece que básicamente todos ya me pegaron, pero estoy divagando
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss a");