2016-12-29 92 views
-3

我試圖將日期以dd-MM-yyyy格式從YYYY-MM-dd轉換成hh:mm:ss.ms in java使用下面的代碼,但中號無法獲得期望的值在java中將日期dd/MM/yyyy轉換爲dd-MM-yyyy

String dob = (new SimpleDateFormat("dd-MM-yyyy")).format(customerEntity.getDob().toString()); 

customerEntity.getDob()的toString是我提供這個價值1987年6月12日00:00:00.0

但是當我解析它到字符串dob它產生163-06-1987作爲輸出,而我想輸出像12-06-1987。

任何幫助將是明顯的,由於提前做好

+0

爲什麼你使用的toString()?你必須格式化一個日期,而不是一個字符串 –

+0

即使刪除了toString()方法後,我仍然沒有在接近所需輸出的地方嘗試'customerEntity.getDob()','sDF.format(dateObj)' – Kent

+0

@lgino – Mavericks

回答

0

嘗試解析你的字符串日期爲Date第一格式它是未來。將該Date對象傳遞給您希望輸出的格式的格式。

如下文:在SimpleDateFormat

Date dob = (new SimpleDateFormat("yyyy-MM-dd")).parse("1987-06-12 00:00:00.0"); 
    String dob1 = (new SimpleDateFormat("dd-MM-yyyy")).format(dob); 
+0

潘卡它的正常工作爲靜態字符串,但你能告訴我如何解析像在代碼中提到,我是通過對象解析bearth日期,customer.getDOB()的對象的值; 。 – Mavericks

+0

正如你所說,customerEntity.getDob()的toString是我提供這個價值1987年6月12日00:00:00.0。 – PankajT

+0

PankajT它只是因爲我使用toString()方法在字符串中強制ObjectValue,但現在爲了轉換此字符串中的DOB所有我正在做的是 – Mavericks

0

format方法採取Date作爲參數,而不是一個String

public static void main(String[] args) { 
String dateStr = "29/12/2016"; 
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
try { 
    Date date = sdf.parse(dateStr); 
    sdf = new SimpleDateFormat("dd-MM-yyyy"); 
    System.out.println(sdf.format(date)); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 
} 
相關問題