2012-06-27 500 views
1

我想以這種格式顯示日期字符串:Jun 27, 2012。我這樣做:SimpleDateFormat拋出異常

SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyy"); 
String date = sdf.format(Calendar.getInstance()); 

但它給我:

java.lang.IllegalArgumentException: Cannot format given Object as a Date

我在做什麼錯?

+2

哪個異常是拋是什麼它的消息說? –

+4

嘗試Calendar.getInstance()。getTime() –

回答

9

您不能使用Calendar.getInstance(),因爲它的參數是日期而不是日曆實例。只要改變參數去getTime()

SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy"); 
String date = sdf.format(Calendar.getInstance().getTime()); 
10
sdf.format() 

注意到一個Date,而不是一個對象Calendar

+0

它有點作品,謝謝! – razielsarafan

+2

+1這就是爲什麼它給出'IllegalArgumentException:無法格式化給定的對象作爲日期' –

+0

無論如何,產量是「2012年6月27日」,而不是「2012年6月27日」。有沒有辦法通過日期格式化程序來使第一個字母大寫? – razielsarafan