我有GregorianCalendar实例,需要使用SimpleDateFormat(或者可以用于日历,但提供了所需的#fromat()功能)以获取所需输出。请提出解决办法和永久性解决方案。如何在日历中使用SimpleDateFormat?
回答
试试这个:
Calendar cal = new GregorianCalendar();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
dateFormat.setTimeZone(cal.getTimeZone());
System.out.println(dateFormat.format(cal.getTime()));
Calendar.getTime()返回一个可以与SimpleDateFormat一起使用的日期。
只需致电calendar.getTime()
并将产生的Date
对象传递给format
方法。
相等的回答是缺少一个步骤
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,因为答案是最完整的一个。如果没有此方法调用,将使用默认日历进行格式设置。 (但是这个问题没有具体说明哪个日历应该用于格式化。) – Robert 2012-08-16 03:09:27
对于这种情况,这并不重要,但是如果你想做的事情如: 'cal.setTimeZone(TimeZone.getTimeZone(“GMT”)) );' 'cal.setTime(new Date(record.getMillis()));' 它似乎是。 – JamesKingston 2012-10-04 21:15:53
对不起,为什么有人需要设置日历,如果他只需要一个格式化的输出? – 2013-03-20 16:15:57
- 1. 如何仅使用SimpleDateFormat解析日期
- 2. 格式日期使用SimpleDateFormat
- 3. 使用SimpleDateFormat验证日期
- 4. 如何在java中使用applyPattern for SimpleDateFormat?
- 5. 如何使用日历
- 6. 如何在java中使用公历日历和日期开始日期
- 7. 如何使用的SimpleDateFormat
- 8. 如何使用SimpleDateFormat的
- 9. 在java中使用日历
- 10. 如何在日历中禁用过去的日期?使用HTML0
- 11. 如何在日历URL中使用Java程序中的iCal日历?
- 12. 如何使用日历在JavaScript
- 13. 如何使用日历创建日期
- 14. Java:如何使用日期/日历
- 15. 在SimpleDateFormat中使用〜#解析()
- 16. 如何在iphone sdk中将日历存储在日历中?
- 17. 如何使用android使用日历API在Google日历上添加事件?
- 18. 如何在日期中显示timeEditor使用rich:日历
- 19. 如何使用Google日历API在Android中获取Google日历事件?
- 20. 如何使用Google日历API在Google日历中更改“创建人”?
- 21. 如何使用Visual Basic在aspx中使用Google日历
- 22. 如何获得java.util.Date这是今年比当前日期回不使用的SimpleDateFormat或日历
- 23. 如何使用primeng日历设置日历?
- 24. 如何使用Kal日历Api来绘制日历?
- 25. 错误日期解析使用SimpleDateFormat,Java
- 26. 使用SimpleDateFormat获取UTC日期
- 27. 使用SimpleDateFormat获取当前日期
- 28. 使用SimpleDateFormat获取日期/时间
- 29. 如何使用jquery禁用日历
- 30. 如何使用SimpleDateFormat格式化我的日期?
添加了来自JamesKingston的答案缺少的一步。谢谢! – janhink 2014-09-19 06:38:47
不添加时区有什么影响? – kamaci 2014-10-01 09:25:18
@kamaci查看JamesKingston的回答下的评论。只有当您的日历对象基于与系统默认时区不同的时区时才有意义,并且您希望它在该日历的时区中进行打印。如果不设置时区,它将使用默认的系统时区。如果这与日历的时区相同,则设置时区没有区别。请注意,JamesKingston的答案也适用 - 告诉dateFormat使用哪个日历意味着它将知道使用日历的时区。 – ToolmakerSteve 2015-09-07 09:11:28