Problemas con java.util.Calendar

Buenas,

estoy haciendo una aplicación con Android Strudio y quiero obtener la fecha y hora en el formato:

2015-08-15 23:15 (polejemplo)

Mi código es:

import java.util.Calendar;
...
private String fecha;
private Calendar c = Calendar.getInstance();

fecha = Integer.toString((c.get(Calendar.YEAR))) + "-" +
                        Integer.toString((c.get(Calendar.MONTH))) + "-" +
                        Integer.toString((c.get(Calendar.DAY_OF_MONTH))) + " " +
                        Integer.toString((c.get(Calendar.HOUR))) + ":" +
                        Integer.toString((c.get(Calendar.MINUTE))) + ":" +
                        Integer.toString((c.get(Calendar.SECOND)));


Cuando lo ejecuto, obtengo lo siguiente (siguiendo el ejemplo de arriba):

2015-7-15 11:15

Es decir:

- Un mes menos de lo que toca
- El mes no me devuelve el 0 de delante.
- La hora no es en formato 24h.

Me pasa tanto en dispositivo físico como en emulador. Ambos están en hora.

¿Qué hago mal?

Gracias!
Hola, te recomiendo que mires este enlace http://www.mkyong.com/java/java-date-an ... -examples/

Por lo que he visto, el mes de enero es 0 y diciembre 11.
aleix_1379 escribió:Hola, te recomiendo que mires este enlace http://www.mkyong.com/java/java-date-an ... -examples/

Por lo que he visto, el mes de enero es 0 y diciembre 11.


Cierto. Y genial el enlace. Mil gracias! [oki]
En cuanto al mes, tienes que usar un java.text.DateFormat. Date cuenta que al estar extrayendo campos Integer nunca tendrás ceros por la izquierda.
squarewave escribió:En cuanto al mes, tienes que usar un java.text.DateFormat. Date cuenta que al estar extrayendo campos Integer nunca tendrás ceros por la izquierda.


OK. Gracias por el apunte! [oki]
4 respuestas