2016-12-27 153 views
0

我試圖日期的值存儲爲18/12/2016爲日期變量..如何存儲日期日期數據類型18/12/2016

例如

Date date=new Date(); 
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
    Date theDate = null; 

    try { 
     theDate = dateFormat.parse(date.toString()); 
     System.out.println("Date parsed = " + dateFormat.format(theDate)); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 

但上面的代碼提供了一個錯誤

java.text.ParseException: Unparseable date: "Mon Jun 18 00:00:00 IST 2012" 

我發現的例子,我們可以更改格式,並存儲在字符串數據類型。 但我需要一個例子,我們可以將它存儲在日期格式本身。

希望你們明白我的問題。請幫助..

謝謝。

編輯 - 給出的所有鏈接顯示如何將日期存儲到字符串中。我需要以日期數據類型本身的格式將日期存儲在18/12/2016中。因此它不是重複的問題。

+0

您的日期,並與區也有時間。這是你得到「無法解析」錯誤的原因。 – Shane

+0

檢查此問題http://stackoverflow.com/questions/17290916/how-to-change-the-date-format-in-android – Shailesh

+0

您沒有通過任何日期。所以系統試圖轉換一些默認日期。 – GrabNewTech

回答

0

不需要解析它。只需在顯示日期時格式化即可。

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
Date theDate = new Date(); 

try { 
    System.out.println("Date parsed = " + dateFormat.format(theDate)); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 
+0

我不想顯示日期...我需要保存日期數據類型中的日期並將其傳遞給服務器。 – Benedict

+1

不,你不能。日期數據類型有其自己的格式來保存數據。所以,你必須發送日期到服務器作爲一個字符串,而不是日期 –

+0

哦...謝謝無論如何... – Benedict

0

即使我認爲這是重複的this question我會簡短回答。

SimpleDateFormatter是一種顯示日期並不存儲它們的方法,所有日期都應該以數字格式存儲和處理,以防止錯誤。

有趣的一面是this youtube video關於處理時間的問題,它需要以統一的方式處理時間,然後只在UI級別將其格式化爲用戶。

0

OU是錯在你顯示我猜數據的方式,因爲對我來說:含到位「/」符號的空白

String dateString = "18/12/2016"; 
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); 
Date convertedDate = new Date(); 
try { 
    convertedDate = dateFormat.parse(dateString); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
System.out.println(convertedDate); 
+0

convertedDate給出值「Mon Jun 18 00:00:00 GMT + 05:30 2012」 – Benedict