【发布时间】:2011-12-10 03:27:37
【问题描述】:
我有一个数据库,当我输入有关事物的信息时,我希望数据库显示我输入的信息的时间戳。
【问题讨论】:
标签: android database eclipse timestamp
我有一个数据库,当我输入有关事物的信息时,我希望数据库显示我输入的信息的时间戳。
【问题讨论】:
标签: android database eclipse timestamp
我假设当您说“输入信息”时,您指的是插入。如果是这种情况,您可以在架构中创建一个默认为 now 的日期时间列:
日期时间默认 CURRENT_TIMESTAMP
您也可以在插入时设置它:
插入您的数据库值 (datetime())
更多详情请看这里: How to insert a SQLite record with a datetime set to 'now' in Android application?
祝你好运!
【讨论】:
最简单的选择可能是手动完成。添加一个整数列并将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 并存储一个文本列。取决于您是否希望该字段直接可读