estoy recibiendo fecha en cadena en YYYY/MM/DD HH:MM:SS
format.I desea cambiarlo en el mm/dd/yyyy HH:mm:ss
y también se mostrará AM y PM ¿cómo puedo hacer me ayudan caro, deberíacómo convertir formato de fecha en Android
Gracias usted
estoy recibiendo fecha en cadena en YYYY/MM/DD HH:MM:SS
format.I desea cambiarlo en el mm/dd/yyyy HH:mm:ss
y también se mostrará AM y PM ¿cómo puedo hacer me ayudan caro, deberíacómo convertir formato de fecha en Android
Gracias usted
Para obtener AM PM y el formato de fecha 12 horas hh:mm:ss a
utilizan como formateador cadena donde hh
es para formato de 12 horas y a
es para el formato AM PM.
Nota: HH es para 24
horas y HH es de formato de fecha 12
horas
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
String newFormat = formatter.format(testDate);
Ejemplo
String date = "2011/11/12 16:05:06";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
String newFormat = formatter.format(testDate);
System.out.println(".....Date..."+newFormat);
Use android.text.format.Time
para la conversión. Puede pasar el tiempo como texto y le devolverá la hora en el formato deseado utilizando timeInstance.format("")
;
necesita proporcionar el formateador.
Consulte la siguiente: Tiempo: http://developer.android.com/reference/android/text/format/Time.html Formateador: http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html
se puede utilizar cualquier combinación de cadena formateador para trabajar con él :)
sólo tiene que utilizar la clase de tiempo. Pruebe algo similar a esto.
Time time = new Time();
time.set(Long.valueOf(yourTimeString));
Si realmente necesita un objeto Date simplemente intente esto.
Date date = new Date(Long.parse(yourTimeString));
puede utilizar SimpleDateFormat o DateFormat para esto aquí es el ejemplo
SimpleDateFormat gsdf = new SimpleDateFormat("YYYY/MM/DD HH:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a");
try{
Date d = gsdf.parse("2011/12/13 16:17:00");
System.out.println("new date format " + sdf.format(d));
}catch(Exception){
// handle exception if parse time or another by cause
}
Puede utilizar el SimpleDateFormat los mismos tipos de operaciones de fecha alguna.
SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
SimpleDateFormat DesiredFormat = new SimpleDateFormat("MM/dd/yyyy HH:MM:SS a");
// 'a' for AM/PM
Date date = sourceFormat.parse("2012/12/31 03:20:20");
String formattedDate = DesiredFormat.format(date.getTime());
// Now formattedDate have current date/time
Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
public static String getFormatedDate(String strDate, String sourceFormate,
String destinyFormate) {
SimpleDateFormat df;
df = new SimpleDateFormat(sourceFormate);
Date date = null;
try {
date = df.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
df = new SimpleDateFormat(destinyFormate);
return df.format(date);
}
y utilizar como
getFormatedDate(strDate,
"yyyy-MM-dd HH:mm:ss", "mm/dd/yyyy")
He creado un método simple para hacer esto. Consulte http://stackoverflow.com/a/40042733/4531507 –