SimpleDateFormat不是按指定格式化日期

dev*_*v90 -8 java date

我想以格式获取当前日期."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);
Run Code Online (Sandbox Code Playgroud)

进程后的当前日期值是这个

Mon Jun 20 00:00:00 GMT+05:00 2016,

dateStr格式化后的值是2016/06/20

请指导我在这里做错了什么.

SJu*_*n76 5

你是如何混淆它的工作原理.

DateFormat.format取a Date并将其转换为String.正是这个字符串(dateStr在您的代码中)以您想要的格式保存日期.

DateFormat.parse采取String并将其转换为Date.该Date对象是一个日期(更precissely一毫秒),它没有格式.如果打印生成的Date对象,将使用其toString()实现来打印它,该实现显示Mon Jun...字符串.但是该值与DateFormat您生成Date实例的方式无关.