【问题标题】:How to add a time stamp to every SQLDatabase update如何为每个 SQLDatabase 更新添加时间戳
【发布时间】:2011-12-10 03:27:37
【问题描述】:

我有一个数据库,当我输入有关事物的信息时,我希望数据库显示我输入的信息的时间戳。

【问题讨论】:

    标签: android database eclipse timestamp


    【解决方案1】:

    我假设当您说“输入信息”时,您指的是插入。如果是这种情况,您可以在架构中创建一个默认为 now 的日期时间列:

    日期时间默认 CURRENT_TIMESTAMP

    您也可以在插入时设置它:

    插入您的数据库值 (datetime())

    更多详情请看这里: How to insert a SQLite record with a datetime set to 'now' in Android application?

    祝你好运!

    【讨论】:

      【解决方案2】:

      最简单的选择可能是手动完成。添加一个整数列并将System.currentTimeMillis() 存储在该列中。

      编辑

      如果您想将其存储为人类可读的,请创建一个text 列。然后创建类似这样的时间戳

      SimpleDateFormat sdf = new SimpleDateFormat("d MMM yyyy HH:mm:ss.S z");
      Date now = new Date();
      String timestamp = sdf.format(now);
      

      创建这样的字符串(您可以更改格式,查看SimpleDateFormat documentation

      9 Dec 2011 23:06:05.849 EST
      

      如果你正在从数据库中读取数据,你可以这样做来获取一个日期对象

      Date then = null;
      try {
          then = sdf.parse(timestamp);
      } catch (ParseException e) {
          e.printStackTrace();
      }
      

      如果你真的不关心格式,你可以这样做

      String timestamp = new Date().toString();
      

      这将给出类似的输出

      Fri Dec 09 23:06:05 EST 2011
      

      【讨论】:

      • 不就是把时间变成毫秒吗?
      • 是的,它是以毫秒为单位的时间戳。如果您想要不同的表示形式,您可以使用 SimpleDateFormat 并存储一个文本列。取决于您是否希望该字段直接可读
      • 是的,我想要它,以便用户可以查看信息是什么时候放入数据库的。所以如果它是人类可读的就好了。如果你有这样的例子就好了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 2015-02-16
      • 1970-01-01
      • 2019-03-10
      • 2017-11-07
      • 1970-01-01
      • 2019-08-08
      相关资源
      最近更新 更多