android - ContentValues 放置方法

标签 android android-intent

在数据库端,checkInTimecheckOutTime 的类型是TIMESTAMP

在我的 java 代码中,checkInTimecheckOutTime 也是 java.sql.Timestamp 类型

为了将记录插入数据库,我使用了这段代码:

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);

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

我看不到 ContentValues 的任何 put 方法,它会在其第二个参数中接受 java.sql.Timestamp 类型。请建议在这种情况下如何传递 java.sql.Timestamp,以便我也可以消除编译错误。

谢谢,

最佳答案

我建议您使用 DATETIME 而不是 TIMESTAMP。它在处理日期和时间时更通用。

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

final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

更新:

尝试如下操作:

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));

关于android - ContentValues 放置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160968/

相关文章:

android - 用于覆盖的 FrameLayout 与 RelativeLayout

android - 'Samsung Apps' 是否支持 URI 方案以重定向到特定应用程序?

android - 多个 Intent 接收器?

android - 以编程方式在 Android 中为视频添加图像帧或水印

android - 无法破坏 Android Activity

Android Vector Drawable 与 SVG 路径不同

android - java.lang.IllegalStateException : Dex archives: setting . DEX 扩展仅适用于 .CLASS 文件

android - 如何从通知中触发广播接收器?

android - 如何在点击它时获得 EditText 的值(value)?

android - 如何选择特定的应用程序来处理 Intent