zoukankan      html  css  js  c++  java
  • 关于在SQLITE数据库表中插入本地系统时间的做法

    首先,我参考下面的博文地址:http://blog.csdn.net/liuzhidong123/article/details/6847104

     

    sqlite3 表里插入系统时间(时间戳)

    分类: sqlite3 时间戳 5010人阅读 评论(4) 收藏 举报

    就像在提交日志的时候系统会把提交的时间记录下来一样,如果想在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');

      这样才会对,现在时间是一样的了,之前我在时间这项上面没有插入数据,因为我觉得在创建表的时候用NOT NULL DEFAULT datetime('now', 'localtime'),以为我不插入时间项,在每项的时候会自动插入,结果自动插入是实现了,不过时间不对,与电脑上显示的时间老是相差那么几个小时。
      我的个去,这种问题,蛋碎啊
  • 相关阅读:
    致橡树——舒婷
    MPU6050
    Android自动折行TextView Group
    基于LRU Cache的简单缓存
    如果不能给心以翅膀,她如何飞翔
    ubuntu手机识别
    Webkit JNI
    scrapy入门
    Webkit二:RenderTree 创建
    Webkit一:Dom转码和解析
  • 原文地址:https://www.cnblogs.com/lihaiping/p/sqlitedatetime.html
Copyright © 2011-2022 走看看