androide timestamp parsing ido mal (siempre en 1970)
im tratando de convertir una cadena (con unix timestamp) a una fecha con el formato (dd-MM-aaaa)
y esto está funcionando en parte. El problema que tengo ahora es que mi fecha está en 17-01-1970 (en lugar de marzo 16 2015)
- ¿Los hilos son lo suficientemente fiables para calcular segundos?
- Android obtiene tiempo en este formato `aaaa-mm-dd hh: mm: ss`
- Android / Java - Fecha Diferencia en días
- Java último día del problema del mes
- Insertar el año actual en un TextView
lo estoy convirtiendo así:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); Date d = null; int dateMulti = Integer.parseInt(Date); Calendar cal = Calendar.getInstance(Locale.ENGLISH); cal.setTimeInMillis(dateMulti); String date = DateFormat.format("dd-MM-yyyy", cal).toString(); Log.d("test",date); try { d = dateFormat.parse(date); } catch (ParseException e) { e.printStackTrace(); }
donde Date = 1427101853 y el resultado = 17-01-1970
¿Qué estoy haciendo mal?
- Obtener la hora y la fecha actuales en Android
- Comience y finalice la semana en Android
- SQLite selecciona todos los registros de hoy y día anterior
- ¿Cómo manejar las diferencias de la base de datos de horarios de JodaTime y Android?
- ¿Cómo acceder a sms tiempo que he recibido en la bandeja de entrada?
- ¿Cómo obtener el número de días entre dos instancia de calendario?
- Java: ¿Cómo analizar el formato de fecha para mostrar el formato de salida específico?
- Milliseconds hasta la fecha en GMT en Java
Está utilizando la cadena de formato incorrecta en la primera línea:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-mm-yyyy");
mm
es minutos. Utilice MM
(meses) en su lugar.
editar A Unix timestamp es un número de segundos desde 01-01-1970 00:00:00 GMT. Java mide el tiempo en milisegundos desde 01-01-1970 00:00:00 GMT. Necesita multiplicar la marca de tiempo de Unix por 1000:
cal.setTimeInMillis(dateMulti * 1000L);
¿Por qué tiene "dd-mm-yyyy"
en SimpleDateFormat
y "dd-MM-yyyy"
en DateFormat.format
? Utilizar esta :
String date = DateFormat.format("dd-mm-yyyy", cal).toString();
Si quieres minutos, si quieres meses tienes que poner MM
como @Jesper dijo 🙂
- Compartir imagen con whatsapp en android
- xamarin 5.7 la conexión androide con el renderizador de diseño falló