【发布时间】:2016-03-29 11:35:44
【问题描述】:
我正在从我的 Parse 数据库中检索一些日期。问题是从数据库中检索到的日期之一返回错误的日期。在这种情况下,当我检索日期 01/10/2016 时,它会返回 02/10/2016!但是,其他日期返回正确的日期(在本例中是日志中的另外两个日期(07/02/2016 和 21/02/2016)。
什么奇怪的原因导致只在这个日期返回错误的日期,而每隔一个日期返回正确的日期?!
(list 是我数据库中 parseObjects 的列表,包含日期)
Date[] surveyDate = new Date[list.size()];
for(int i = 0; i<list.size(); i++){
surveyDate[i] = list.get(i).getDate("day");
System.out.println("surveyDate: " +surveyDate[i].getDate() + ", " + (surveyDate[i].getMonth()+1) + ", " + (surveyDate[i].getYear()+1900));
}
日志
I/System.out: surveyDate: date: 7, month: 2, 2016
I/System.out: surveyDate: date: 21, month: 2, 2016
I/System.out: surveyDate: date: 2, month: 10, 2016
这里我在数据库中有一张我的日期的图像,您可以看到只有最后一个(10 月 1 日)返回了错误的值。
顺便说一下,不要担心图片中显示的其他日期,它们是在列表中排序和排序的。
数据库上的日期
【问题讨论】:
-
您没有展示如何获取(或操作)列表。您的数据库映像中有一些日期不在您的日志中,您不知道吗?
-
对不起,我没有提到。该列表已排序和排序,因此列表大小为 3,包含记录的 3 个日期。我将编辑我的帖子以使其更清晰
-
您是否尝试过改用
Calendar类?这些方法都已弃用。如果您认为它们应该可以工作,那么您是否尝试过在本地数据存储中插入一个日期,然后立即检索它?我非常怀疑问题出在 Java getDate 函数上。 -
@ SteinarSeim 提示:考虑使用 Java 8 及更高版本中内置的java.time 框架的back-port 的Android version。
标签: java android date parsing getdate