我正在尝试比较日期,我发现了我的代码出错的地方,但我不知道为什么。

我正在尝试将日期与今天的日期进行比较(仅使用Gregorian日历)。我已经打印出了今天的日期,该日期在代码中被提及,从2010年到3910年(今天的年度 + 1900年)的一个地方。

有人知道有什么理由吗?

//Prints out 2010   
System.out.println("TodaysDate.getYear():\t"+todaysDate.getYear());
//Prints out 2010
System.out.println(todaysDate);

//Getting a year from a string (it is 2010)
todaysDate.setYear(Integer.parseInt(yea));

//Prints out 2010   
System.out.println("TodaysDate.getYear():\t"+todaysDate.getYear());
//Prints out 3910   
System.out.println(todaysDate);
有帮助吗?

解决方案

该日期通常存储为“自1900年以来的年数”,因此您需要赔偿这一点。您可以在文档中看到 Date: http://developer.android.com/reference/java/util/date.html

编辑:我应该提到我发表的评论。 Jeff Sharkey建议针对日历类(如果您也使用)。 android.text.format.dateutils更轻巧(您会在首次加载日历类时,尤其是在旧手机上时,您会发现手机停滞了一点)。 Dateutils在Android 1.5及以上可用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top