如何从sqlite数据库获取时间戳值?

时间:2018-12-20 18:02:33

标签: android sqlite timestamp

我有一个使用Sqlite数据库的android应用。 如图所示,我创建了Timestamp列。

[4,3,5,8,12,2]

在我的BindView方法的适配器类中,如何获取timestamp列的值并将其附加到适配器视图以显示给用户?

 String table   =  "CREATE TABLE IF NOT EXISTS "  + tableNameCreated + " (" +
            GymContract.GymEntry._ID                 + " INTEGER PRIMARY KEY, " +
            GymContract.GymEntry.COLUMN_SETS         + " INTEGER NOT NULL, " +
            GymContract.GymEntry.COLUMN_REPS         + " INTEGER NOT NULL, " +
            GymContract.GymEntry.COLUMN_WEIGHT       + " REAL  NOT NULL, " +
            GymContract.GymEntry.COLUMN_TIMESTAMP    + " TIMESTAMP DEFAULT CURRENT_TIMESTAMP , " +
            GymContract.GymEntry.COLUMN_MUSCLE_TYPE  + " TEXT   );";

    db.execSQL(table);
}

1 个答案:

答案 0 :(得分:0)

只需执行与其他任何值相同的操作即可。 例如

String timestamp = mCursor.getString(mCursor.getColumnIndex(GymContract.GymEntry.COLUMN_TIMESTAMP));
holder.timestamp_varAdapter.setText(timestamp);

假设您已经相应地设置了holder.timestamp_varAdapter,并且希望时间戳的格式为2018-12-20 18:59:33,并且已经从表中提取了TIMESTAMP列。

如果希望数据以其他格式显示,则可以更改查询以使用日期/时间功能之一。

例如如果您只想2018-12-20,则可以使用SELECT *, date(timestamp) AS mydate进行查询,然后

String timestamp = mCursor.getString(mCursor.getColumnIndex("mydate"));
holder.timestamp_varAdapter.setText(timestamp);

Date And Time Functions