如何将自动时间戳表条目从纪元时间更改为现在?
目前我的表格是使用以下内容设置的:
CREATE TABLE IF NOT EXISTS Calculations (calculation_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , data_id INTEGER, area_id INTEGER, date DATETIME NOT NULL;
我使用以下命令向表中添加条目:
INSERT INTO Calculations (data_id , area_id , date ) VALUES (?1, ?2, date('now') );
当我记忆起日期值时,它们都是:Wed Dec 31 17:00:02 MST 1969
据我了解,date('now')
将生成当前日期。
如何将当前日期插入到 android-sqlite 表条目中?
额外说明:
SQLite支持以下五种日期和时间函数:
date(timestring, modifier, modifier, ...)
time(timestring, modifier, modifier, ...)
datetime(timestring, modifier, modifier, ...)
julianday(timestring, modifier, modifier, ...)
strftime(format, timestring, modifier, modifier, ...)
时间字符串
时间字符串可以采用以下任意格式:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
我正在尝试使用date(now)
插入当前日期。
这将输入纪元时间而不是当前日期。
最佳答案
我认为你的sqlite逻辑是正确的。你可能在其他地方错了。我使用 sqlite3 并使用您的脚本测试了以下内容。 date() 和 date('now') 似乎都有效。
sqlite> select date();
2015-06-24
sqlite> CREATE TABLE IF NOT EXISTS Calculations (calculation_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , data_id INTEGER, area_id INTEGER, date DATETIME NOT NULL);
sqlite> select * from Calculations;
sqlite> INSERT INTO Calculations (data_id , area_id , date ) VALUES (1, 2, date('now') );
sqlite> select * from Calculations;
1|1|2|2015-06-24
sqlite> INSERT INTO Calculations (data_id , area_id , date ) VALUES (1, 2, date() );
sqlite> select * from Calculations;
1|1|2|2015-06-24
2|1|2|2015-06-24
关于java - 如何将自动时间戳表条目从纪元时间更改为现在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008458/