【问题标题】:Adding current time to SQLite database in Android Studio在 Android Studio 中将当前时间添加到 SQLite 数据库
【发布时间】:2017-03-23 11:31:49
【问题描述】:

我已经制作了一个数据库待办事项列表应用程序,并希望将当前时间添加到其中。但是,我不知道如何在 Java 中做到这一点。

public void addProduct(ListItem product) {
  ContentValues values = new ContentValues();
  values.put(COLUMN_TODO, product.getToDo());
  values.put(COLUMN_FOR, product.getAccFor());
  SQLiteDatabase db = getWritableDatabase();
  db.insert(TABLE_LIST, null, values);
  db.close();
}

这是我当前向数据库添加对象的函数:

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "productDB.db";
public static final String TABLE_LIST = "List";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_TODO = "ToDo";
public static final String COLUMN_FOR = "accFor";
private String University = "University";
private String Work = "Work";
private String Personal = "Personal";

这些是我在数据库开始时声明的变量,如果可以使用 Android Studio,我还想将当前时间添加到数据库中,以便它可以与其他值一起显示,GPS 会很好不过,我也觉得这可能有点高级。

public void onCreate(SQLiteDatabase db) {
  String query = "CREATE TABLE " + TABLE_LIST + "(" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_TODO + " TEXT, " +
            COLUMN_FOR + " TEXT " +
            ");";
  db.execSQL(query);
}

这是创建表格的代码。

【问题讨论】:

    标签: java android database sqlite android-database


    【解决方案1】:

    您可以致电long currentTime = new Date().getTime,这是当前时间,以毫秒为单位 (see documentation here)。然后只需将这个长值添加到您的数据库中。

    如果您想将此时间转换回日期对象,只需调用new Date(yourLongValue)

    【讨论】:

      【解决方案2】:

      为时间添加一个新列,然后使用System.currentTimeMillis() 更新它。

      【讨论】:

      • public static final String COLUMN_TIME = "time" 作为变量?还是int? values.put(COLUMN_TIME, System.currentTimeMillis());它会像这样插入吗?
      • 您需要更新数据库架构并添加一个新的时间列,类型为“long”
      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2012-12-01
      • 2016-06-25
      • 2017-11-27
      相关资源
      最近更新 更多