2017-03-27 72 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

相關問題