ContentValues put方法

use*_*944 3 android android-intent

在分贝侧,checkInTime并且checkOutTime是类型的TIMESTAMP

在我的Java代码也,checkInTimecheckOutTime有型java.sql.Timestamp

为了将记录插入db,我正在使用这段代码:

1. ContentValues contentValues=new ContentValues();

    2. contentValues.put(USER_ID, userId);
    3. contentValues.put(ROOM_ID, roomId);
    4. contentValues.put(CHECK_IN, checkInTime);
    5. contentValues.put(CHECK_OUT, checkOutTime);

    6. return database.insert(MRM_BOOKING_DETAILS_TABLE, null, contentValues);
Run Code Online (Sandbox Code Playgroud)

但是我在第4行和第5行遇到编译错误,因为他们不期望某种类型的java.sql.Timestamp

我看不到任何C语言的put方法ontentValuesjava.sql.Timestamp在第二个参数中接受类型.请建议如何传递java.sql.Timestamp这种情况,以便我也可以删除编译错误.

谢谢,

waq*_*lam 7

我建议你用DATETIME而不是TIMESTAMP.处理日期和时间时更为通用.

此外,您可以使用SimpleDateFormat在插入或读取数据库时解析DATETIME值.

final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

更新:

尝试按以下方式操作:

final SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss.SSS");

contentValues.put(CHECK_IN, parser.format(checkInTime));
contentValues.put(CHECK_OUT, parser.format(checkOutTime));
Run Code Online (Sandbox Code Playgroud)