2017-03-27 41 views
-3

我有此代码为什么输出其他日期?

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(); 
     } 
    } 

}

我预计像2月5日0时02分00秒UTC 2017

但即时输出获得输出1月5日0时02分00秒UTC 2017为什么?我的代码有什么问题?

enter image description here

+0

System.out.println(“date:”+ readFormat.format(mDate); – Pavya

+5

mm vs MM ...... – Selvin

+0

但为什么输出表示一月代替feb ???字符串日期是2017-02 -05和输出它喜欢2017-01-05 –

回答

5

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

  1. 四位数年份
  2. 在小时
  3. 2位分钟
  4. 2位数的日期在一个月

所以“2017-02-05”是2017年第5天两分钟,这是j的5分月‧日。您可以使用new java.text.SimpleDateFormat("yyyy-MM-dd")。请参阅documentation

相关问题