Tengo instancias de GregorianCalendar y necesito utilizar SimpleDateFormat (o tal vez algo que pueda usarse con el calendario pero que proporcione la función #fromat() requerida) para obtener el resultado necesario. Por favor, sugiera alternativas y soluciones permanentes.¿Cómo puedo utilizar SimpleDateFormat con el calendario?
Respuesta
Prueba esto: respuesta
Calendar cal = new GregorianCalendar();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
dateFormat.setTimeZone(cal.getTimeZone());
System.out.println(dateFormat.format(cal.getTime()));
Calendar.getTime() devuelve una fecha que se puede utilizar con SimpleDateFormat.
Simplemente llame al calendar.getTime()
y pase el objeto resultante Date
al método format
.
de Equi Falta un paso en
Calendar cal = new GregorianCalendar();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
#---- This uses the provided calendar for the output -----
dateFormat.setCalendar(cal);
System.out.println(dateFormat.format(cal.getTime()));
+1, porque la respuesta es la más completa. Sin este método, la llamada al calendario predeterminado se usa para formatear. (Sin embargo, la pregunta realmente no especificaba qué calendario debería usarse para formatear.) – Robert
Para este caso no importa, pero si desea hacer cosas como: 'cal.setTimeZone (TimeZone.getTimeZone (" GMT ")); ' ' cal.setTime (new Date (record.getMillis())); ' parece ser. – JamesKingston
Disculpe, ¿por qué alguien tendría que establecer un calendario si solo necesita una salida formateada? –
- 1. problema extraño con la zona horaria, calendario y SimpleDateFormat
- 2. ¿Cómo puedo configurar un calendario con hora UTC?
- 3. utilizar el calendario como selector de fecha
- 4. ¿Cómo puedo insertar caracteres especiales en SimpleDateFormat?
- 5. ¿Cómo puedo obtener el calendario de UI?
- 6. SimpleDateFormat 24h
- 7. java SimpleDateFormat
- 8. Analizador de fecha incorrecto con SimpleDateFormat, Java
- 9. ¿Cómo puedo reemplazar el calendario predeterminado del sistema operativo Android?
- 10. ¿Por qué están meses libres uno con Java SimpleDateFormat?
- 11. SimpleDateFormat String
- 12. ¿Cómo puedo utilizar Hibernate con MS Access?
- 13. SimpleDateFormat fecha de análisis con 'Z' literal
- 14. ¿Cómo puedo utilizar el rendimiento en javascript
- 15. Sincronización de acceso a SimpleDateFormat
- 16. SimpleDateFormat ParseException: Fecha unparseable error
- 17. Pregunta simple sobre java SimpleDateFormat
- 18. ¿Cómo puedo generar un calendario de torneos en Ruby?
- 19. ¿Cómo puedo agregar un nuevo calendario de teléfono a Android?
- 20. ¿Puedo volver a utilizar LayoutPrams con ViewGroup.addView?
- 21. Cuál es el patrón correcto para analizar el formato de zona horaria con SimpleDateFormat
- 22. Google Calendar API: cómo obtener una entrada de calendario para el calendario predeterminado?
- 23. ¿Cómo puedo obtener una fecha de mi calendario?
- 24. SimpleDateFormat ignorando mes al analizar
- 25. Error: el calendario no se puede resolver en JSP
- 26. Java Fecha getDate() obsoleto, refactorizado utilizar el calendario, pero se ve feo
- 27. Cómo enviar un correo electrónico con una solicitud de calendario (tipo de contenido: texto/calendario)
- 28. ¿Cómo puedo utilizar el tipo de entrada de correo electrónico HTML5 con el .NET
- 29. java excepción inesperada SimpleDateFormat de análisis
- 30. Calendario de PHP con eventos recurrentes
Agregado el paso que falta de la respuesta de la JamesKingston. ¡Gracias! – janhink
¿Cuál es el efecto de no agregar la zona horaria? – kamaci
@kamaci vea los comentarios bajo la respuesta de JamesKingston. Solo importa si tiene un objeto de calendario basado en una zona horaria que es diferente de la zona horaria predeterminada del sistema y desea que se imprima en la zona horaria de ese calendario. Si no configura la zona horaria, usará la zona horaria predeterminada del sistema. Si es igual a la zona horaria del calendario, establecer la zona horaria no tiene importancia. Tenga en cuenta que la respuesta de James Kingston también funciona: decir a dateFormat qué calendario usar significa que sabrá usar la zona horaria del calendario. – ToolmakerSteve