2013-02-05 18 views
0

我有一個mysql數據庫和日期存儲在它使用sql格式的yyyy-MM-dd 我正在使用Jcalender爲gui讓我的客戶在Java swing中生成DOB。如何使用joda時間來實現sql日期格式並計算年份

如何使用它計算使用yearsBetween()的人的年齡,然後將其轉換爲int。

請幫幫忙,代碼將是非常有用的:)

好吧,我將發佈,這是造成該問題的代碼

String dob = "1965-02-03"; 

    DateTime today = new DateTime(DateTime.now().toLocalDate().toString()); 
    DateTime start = new DateTime(dob); 

    System.out.println(today); 
    System.out.println(dob); 

    Years y= Years.yearsBetween(start, today); 

    System.out.println(y); 

爲什麼在y返回P485的值不是正確的值?

+0

StackOverflow的不是這個問題的適當場所。我們不會爲您編寫代碼。你需要做自己的編碼,如果你不確定爲什麼某些東西不能按預期工作,請在代碼中加上一個解釋你期望它做什麼,以及它實際上在做什麼,包括所有的錯誤信息。看[ask advice](http://stackoverflow.com/questions/ask-advice)。 –

+0

此外,您應該將日期*作爲日期*存儲在數據庫中。在查詢它們並將結果轉換爲字符串時,碰巧看到這些格式的格式是不相關的。 –

+0

我只是需要幫助作爲啓動和是的他們存儲爲數據庫中的日期,我可以在哪裏可以獲得有關我想要做的信息,joda的javadoc是巨大的,我找不到我想要的。 – chettyharish

回答

1

您的SysOut超級類別缺少「getYears()」。

的代碼應該是這樣的:

final String dob = "1965-02-03"; 

    final DateTime today = LocalTime.now().toDateTimeToday(); 
    final DateTime start = DateTime.parse(dob); 

    System.out.println(today); 
    System.out.println(dob); 

    final Years y = Years.yearsBetween(start, today); 

    System.out.println(y.getYears()); 
+0

謝謝,我試圖將它轉換爲字符串,並試圖解析它爲int導致錯誤的值。 – chettyharish

相關問題