2012-04-22 91 views
0

我想以2012年4月22日格式顯示日期。 我使用這個代碼:以字符串格式獲取月份

 SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); 

     sdf.applyPattern("dd MMM yyyy"); 
     Date x = new Date(time.year,time.month,time.monthday); 
     System.out.println(sdf.format(x)); 

但我正在逐漸O/P爲: 04月22日3912 我想知道爲什麼它顯示3912代替2012年

+0

使用dd-MM-yyyy。我認爲問題是因爲分號 – Habib 2012-04-22 18:36:12

回答

1

請閱讀api爲Date類。它從1900年開始,所以在這個構造函數中你必須提供日期 - 1900.但是這個構造函數已被棄用,所以我的建議是開始使用Calendar對象來處理日期相關的操作。 爲Java.da

+0

呃,對於Java.da是什麼? – 2012-12-08 23:08:09

1
Calendar cal=Calendar.getInstance(); 
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy"); 
String dateresult = sdf.format(cal.getTime()); 
1
SimpleDateFormat dateformate = new SimpleDateFormat("dd-MMM-yyyy"); 
    Calendar currentDate = Calendar.getInstance(); 

    String currentDateStr = dateformate.format(currentDate.getTime()); 
    Log.i("Infoe ", " " + currentDateStr.toString());  
    System.out.println("Current date is : " + currentDateStr); 
    ////=== OR 

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); 

    sdf.applyPattern("dd-MMM-yyyy"); 
    Date x = new Date(currentDate.get(Calendar.YEAR) - 1900, 
      currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_MONTH)); 
    Log.i("Infoe ", " " + sdf.format(x)); 
    System.out.println(sdf.format(x)); 

其3912 BCZ ...日期設置好的像... Calendar.set(年+ 1900年,月,日)或GregorianCalendar的(年+ 1900年,月,日期)。每GregorianCalendar的

,因爲我認爲使用日曆爲Gd的日期已被棄用... 次日期格式使用DD-MMM-YYYY沒有DD-MM-YYYY BCZ你想一個月前2個字符... For date Format

相關問題