gpt4 book ai didi

java - SQLiteDatabase 添加日期到数据库

转载 作者:行者123 更新时间:2023-11-29 07:06:54 24 4
gpt4 key购买 nike

我有一个扩展 SQLiteOpenHelper 的类和一个声明为的数据库:

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + COL_TEMPERATURA
+ " TEXT, " + COL_UMIDITA + " TEXT," + COL_DATA + "DATETIME)");
}

现在我会在其中插入记录,但是当我尝试插入最后一个字段(DATETIME 类型)时,eclipse 告诉我我不能这样做:

public void insertRecord(List<Object[]> list) throws ParseException {
String temperatura, umidita, data;
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();

for (int i = 0; i < list.size(); i++) {
temperatura = String.valueOf(list.get(i)[0]);
umidita = String.valueOf(list.get(i)[1]);
data = String.valueOf(list.get(i)[2]);
// parsing data
DateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date data_date = dateformat.parse(data);
// insert into database
cv.put(COL_TEMPERATURA, temperatura);
cv.put(COL_UMIDITA, umidita);
cv.put(COL_DATA, data_date);
db.insert(TABLE_NAME, null, cv);
db.close();
}

因为 cv.put() 只接受两个字符串作为参数。现在,如果我将 data_date 变量解析为字符串,MySql 会自动将其转换为正确的格式吗?

最佳答案

SQLite 不支持 DateTime 格式。相反,我建议您使用 ISO8601 格式的字符串:

"YYYY-MM-DD HH:MM:SS.SSS"

阅读更多相关信息 here

使用这种格式当然支持排序。我更喜欢这种字符串格式,因为它更具可读性。如果您选择整数格式(自 1970 年 1 月 1 日以来的毫秒数),如果不涉及解析,您将无法获得相同的可读性......

关于java - SQLiteDatabase 添加日期到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18701539/

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