如何在SQLite使用会议室中使用DateTime数据类型?

时间:2019-02-08 13:23:05

标签: android sqlite android-sqlite android-room

我正在使用具有多个表的SQLite数据库。其中许多具有DATETIME类型的列。

我已经开始将数据库迁移到Room。但是我不知道在实体类中使用哪种数据类型在表中创建DATETIME类型的列。

1 个答案:

答案 0 :(得分:1)

您需要使用TypeConvertor

如下定义类型转换器

public class TimestampConverter {
    static DateFormat df = new SimpleDateFormat(Constants.TIME_STAMP_FORMAT);

    @TypeConverter
    public static Date fromTimestamp(String value) {
        if (value != null) {
            try {
                return df.parse(value);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return null;
        } else {
            return null;
        }
    }
}

在日期类型的字段中添加@TypeConverters注释

@ColumnInfo(name = "created_date")
@TypeConverters({TimestampConverter.class})
public Date createDate;