为何输​​出其他日期?

Car*_*vas -3 java android date simpledateformat

我有这个代码

public class HelloWorld{

 public static void main(String []args){
     try{
        java.util.Date mDate;
        java.text.SimpleDateFormat readFormat = new java.text.SimpleDateFormat("yyyy-mm-dd");
        mDate = readFormat.parse("2017-02-05");
        System.out.println("date: " + mDate.toString());
     } catch (java.text.ParseException e1) {
            e1.printStackTrace();
        }
     }
Run Code Online (Sandbox Code Playgroud)

}

我预计输出像2017年2月5日00:02:00 UTC

但我得到输出Jan 05 00:02:00 UTC 2017为什么?我的代码有什么问题?

在此输入图像描述

Axe*_*xel 5

当您创建此格式时:new java.text.SimpleDateFormat("yyyy-mm-dd")这意味着

  1. 4位数年份
  2. 每小时2位数分钟
  3. 每月2位数

所以"2017-02-05"是2017年第5天的两分钟,那是1月5日.

你应该用new java.text.SimpleDateFormat("yyyy-MM-dd").请参阅文档.