【问题标题】:Insert TimeStamp in SQLite for Android在 SQLite for Android 中插入时间戳
【发布时间】:2016-02-05 22:53:05
【问题描述】:

我有以下字段

1> 工作名称 - Varchar 2> 时间戳

我想创建一个包含上述字段的表格。

  1. TimeStamp 数据类型是什么

  2. 如何将时间戳值插入到表中。

  3. 插入数据时时间戳值是多少或如何获取时间戳。

我在 SQLite 上工作过,但没有任何经验将时间戳作为字段添加到表中并为其添加值。

我应该使用哪种CREATEINSERT 语句?

【问题讨论】:

  • 也对这个话题感兴趣。 =)

标签: android sqlite


【解决方案1】:

Sqlite 数据库中可用的数据类型有限,因此我发现对日期有用的是整数 - 这将接受长值(动态调整其大小),因此日期存储日期的毫秒值,日期可以是从数据库中读取毫秒值时很容易重新构造。

【讨论】:

  • 这是我使用的方法,我只是使用纪元计时器并存储该 int 日期,然后在需要时重建实际时间。我只是想知道是否有更好的方法。谢谢
  • 感谢 John 和 prolink 的 cmets
【解决方案2】:

我通过这个创建时间戳:

/**
 *
 * @return yyyy-MM-dd HH:mm:ss formate date as string
 */
public static String getCurrentTimeStamp(){
    try {

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String currentTimeStamp = dateFormat.format(new Date()); // Find todays date

        return currentTimeStamp;
    } catch (Exception e) {
        e.printStackTrace();

        return null;
    }
}

【讨论】:

    【解决方案3】:

    您可以使用Java.sql.Timestamp class 作为 SQL 数据库中表的列数据类型。

    由于SQLiteDatabase 类不支持Timestamp 变量的put() 方法,请在该类中使用getTime() 方法将相应的毫秒时间插入为long 值。(SQLiteDatabase 不支持有一个put() 方法用于long 类型)
    Open this 用于方法参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      相关资源
      最近更新 更多