gpt4 book ai didi

android - greenDAO - 日期类型,返回 1/jan/1970

转载 作者:太空狗 更新时间:2023-10-29 13:25:13 24 4
gpt4 key购买 nike

使用我使用的 greenDAO 生成器:

entity.addDateProperty("date").notNull();

我插入值:'2013-10-30',当我检查我的数据库时,我在那里有值。我用这个查询检查了这个值:

select datetime(date) from myTable;

它返回:2013-10-10 00:00:00

现在在 android 中,当我尝试检索这个值时(对于每一行):

myTable.getDate();

它总是返回 01/01/1970

我发现了什么(但可能不是这个问题的原因):

  1. 我在我的代码中做了一些调试,我发现由 greenDAO 生成的类 myTableDao.java 在方法 public void readEntity(Cursor cursor, History_Job entity, int offset) 从游标返回值“2013”​​:

    entity.setDate(new java.util.Date(cursor.getLong(offset + 1)));

  2. 仍在 myTableDao.java 中,方法 createTable() 我将此字段声明为 Integer。

    ..."'DATE' INTEGER NOT NULL ,"+//1: 日期...

我是否对属性 DATE 做错了什么,或者在尝试使用这种类型的字段时它是 greenDAO 上的错误?

最佳答案

GreenDao 在 Entities 中使用 Java Date 对象,并将它们的 Date.getTime()(time-in-millis-since-epoch)值存储为 SQLite INTEGER。如果您正确使用它,这两种方式都可以正常工作。我不确定您为什么要手动插入日期 - 这违背了使用 ORM 库的目的。

关于android - greenDAO - 日期类型,返回 1/jan/1970,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22172331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com