我正在尝试以格式获取当前日期。 “YYYY / MM / DD”。我已经编写了以下代码来实现这一目标。
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.US);
Calendar cal = Calendar.getInstance();
String dateStr = dateFormat.format(cal.getTime());
currentDate= dateFormat.parse(dateStr);
处理后的当前日期的值是
Mon Jun 20 00:00:00 GMT+05:00 2016
,
格式化后dateStr
的值2016/06/20
请指导我在这里做错了什么。
答案 0 :(得分:5)
你的工作原理令人困惑。
DateFormat.format
获取Date
并将其转换为String。这个字符串(代码中为dateStr
)以您希望的格式保存日期。
DateFormat.parse
需要String
并将其转换为Date
。 Date
对象是一个日期(更精确地是一毫秒),它没有格式。如果您打印生成的Date
对象,则会使用其toString()
实现打印,该实现会显示Mon Jun...
字符串。但该值与您生成DateFormat
实例的Date
无关。