0

我保存了一个日期,这是 1698-19-20 而不是 2012-4-12。这里有人看到错误了吗?保存为整数的日期。

用计算器计算:1334262386066 毫秒

42.309182713914 年 + 1970 年 = ~2012

代码:

Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
calendarEntity.setDate(date);

sqlite查询:

SELECT strftime('%Y-%m-%d',DATE) FROM CALENDAR_ENTITY

桌子:

  CREATE TABLE 'CALENDAR_ENTITY' ('_id' INTEGER PRIMARY KEY ,'TITLE' TEXT,'NOTICE'        TEXT,'DATE' INTEGER,'BABY_ID' INTEGER NOT NULL )
4

2 回答 2

1

如果您可以像这样长时间使用此返回,我认为您的问题将自行解决。

Date date = new Date(1334262386066l); 

这将返回您所期望的。这就是它打印的内容

2012 年 4 月 12 日星期四 23:26:26 EEST

于 2012-04-12T22:17:54.557 回答
1

问题是该strftime函数期望日期为text以下格式之一:

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDD.DDDD

您将日期存储为integer功能strftime无法处理的日期。有关 SQLite 日期时间函数的更多详细信息,请点击此处(或此处,第 80 页)。

于 2012-04-12T22:47:26.177 回答