2013-01-07 55 views
1

選擇日期一樣2013-01-02 但在MySQL數據庫中列格式是這樣02-Jan-2013所以要更改日期格式日期格式混亂

我的代碼是:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); 
    SimpleDateFormat formatter1 = new SimpleDateFormat("dd-mmm-yyyy"); 
    Date start_date = (Date)formatter.parse(GBRF.getStart_date());//GBRF.getStart_date() returns Form Data as 2013-01-02 
    String dt=formatter1.format(start_date); 
    Date sd=(Date)formatter1.parse(dt); 

在最終sd打印日期這樣Wed Jan 02 00:01:00 IST 2013

我不希望這種格式.. 只是我要像02-Jan-2013

給我一個想法.. 由於提前

回答

4

可以格式化DateStringSimpleDateFormat後,如果您嘗試打印日期實例它會調用Date類的方法toString()具有輸出沒有變化,因爲它是從toString() implmentation

注意即將到來,你不能改變的是輸出:在您的格式,你需要使用M代表月(注資本M)

2

一個Date對象不具有的格式本身。它只有一個時間點。格式在轉換爲String或從String轉換爲格式時起作用。

另請注意,格式中的m用於分鐘而非幾個月。所以你可能想要一個像dd-MMM-yyyy這樣的格式。

嘗試

System.out.println(formatter1.format(sd)); 

來獲得日期打印,只要你喜歡它。

0

您需要先更改日期格式:

`SimpleDateFormat formatter1 = new SimpleDateFormat("dd-MMM-yyyy");` 

在你的情況,如果你只是打印dt,它應該打印所需的日期格式,而不是再次將其轉換爲Date對象即sd

當您打印sd時,如果沒有任何格式化,它將打印Date對象的默認字符串實現,這正是您所看到的輸出