关于在SQLITE数据库表中插入本地系统时间的做法
首先,我参考下面的博文地址:http://blog.csdn.net/liuzhidong123/article/details/6847104
就像在提交日志的时候系统会把提交的时间记录下来一样,如果想在sqlite3下创建的表里插入数据的时候也把插入数据的时间点存储在sqlite数据库里怎么处理呢?
创建一个数据库,如foo.db
在这个表里创建一个表:
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
插入数据:
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
select * from time;
结果是
1|aaa|2011-10-6 06:48:51这时会发现这个时间并不是系统的时间,而世界时间,怎么处理呢?
CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));
再次插入数据
INSERT INTO time([IDCardNo]) VALUES('aaa');
查看:
1|aaa|2011-10-6 13:05:51
这样就和系统的本地时间对应了。
==========================
按照上述博文的做法,我插入的系统时间一项中是不对的。当我到处找资料的时候,发现大家都是用的这种做法,那么问题出在哪里呢?
后面我在插入数据的时候,改了一下,INSERT INTO time([IDCardNo],TimeStamp ) VALUES('aaa',datetime('now','localtime'));
结果时间才跟电脑上显示的系统本地时间是对应的了。
原因:
原因出在,我在插入每个数据,应该在时间那项里面跟上datetime('now', 'localtime');
我的个去,这种问题,蛋碎啊