如何将自动时间戳 table 条目从大纪元时间更改为现在?
How do I change the automatic time stamp table entry from Epoch time to now?
如何将自动时间戳 table 条目从大纪元时间更改为现在?
目前我的 table 使用以下设置:
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;
我使用以下方法将条目添加到 table:
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 table 条目中?
补充说明:
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)
插入当前日期。
这将输入纪元时间而不是当前日期。
收到反馈后,我更改了从数据库中检索存储日期的方式。
之前:
int date = cursor.getInt(cursor.getColumnIndex("date"));
calculation.setDate(new Date(date));
目前:
String date = cursor.getString(cursor.getColumnIndex("date"));
String[] dateArray = date.split("-"); //Split Year-Month-Day
Calendar calendar = new GregorianCalendar(Integer.parseInt(dateArray[0]), Integer.parseInt(dateArray[1]), Integer.parseInt(dateArray[2]) );
从那里我最终改变了 Calculation
日期设置为使用 Calendar
而不是 Date
对象
我认为你的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
如何将自动时间戳 table 条目从大纪元时间更改为现在?
目前我的 table 使用以下设置:
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;
我使用以下方法将条目添加到 table:
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 table 条目中?
补充说明:
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)
插入当前日期。
这将输入纪元时间而不是当前日期。
收到反馈后,我更改了从数据库中检索存储日期的方式。
之前:
int date = cursor.getInt(cursor.getColumnIndex("date"));
calculation.setDate(new Date(date));
目前:
String date = cursor.getString(cursor.getColumnIndex("date"));
String[] dateArray = date.split("-"); //Split Year-Month-Day
Calendar calendar = new GregorianCalendar(Integer.parseInt(dateArray[0]), Integer.parseInt(dateArray[1]), Integer.parseInt(dateArray[2]) );
从那里我最终改变了 Calculation
日期设置为使用 Calendar
而不是 Date
对象
我认为你的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