sqlite中的时间

 

插入时间的sql语句

insert into[DataTable]([CollectDateTime],[Channel_1],[Channel_2],[Channel_3],[Channel_4],[Channel_5],[Channel_6],[Channel_7],[Channel_8],[Channel_9],[Channel_10],[Channel_11],[Channel_12],[Channel_13],[Channel_14],[Channel_15],[Channel_16],[Channel_17],[Channel_18],[Channel_19],[Channel_20],[Channel_21],[Channel_22],[Channel_23],[Channel_24],[Channel_25],[Channel_26],[Channel_27],[Channel_28],[Channel_29],[Channel_30],[Channel_31],[Channel_32],[Channel_33],[Channel_34],[Channel_35],[Channel_36],[Channel_37],[Channel_38],[Channel_39],[Channel_40],[Channel_41],[Channel_42],[Channel_43],[Channel_44],[Channel_45],[Channel_46],[Channel_47],[Channel_48],[Channel_49],[Channel_50],[Channel_51],[Channel_52],[Channel_53],[Channel_54],[Channel_55],[Channel_56],[Channel_57],[Channel_58],[Channel_59],[Channel_60]) values(2014-11-17T19:37:32,-152,-416,-170,-128,-154,-110,-122,24,-227,-90,-80,-98,-18,-29,120,-29,-71,-50,-76,-128,6,192,52,140,19,30,118,19,15,44,38,-112,-7,-133,-71,-23,-79,-127,-6,-119,232,-101,-146,-309,-127,-212,-181,-152,-62,-68,161,39,40,87,104,23,288,21,287,-61)

时间格式‘2014-11-17T19:37:32‘

年月日和时分秒之间多了一个字母T,保存到数据库的时候,会自动给时间加8个小时。 保存的结果为2014-11-18 03:37:32

 

时间格式‘2014-11-17 19:37:32‘  保存到数据库的时候,直接保存。 保存的结果为2014-11-17 19:37:32

 

使用这个语句,从数据读取数据

SQLiteConnectionStringBuilder s = new SQLiteConnectionStringBuilder();
s.DataSource = dBName;//dBName是包含数据库文件名的路径
s.DateTimeKind = DateTimeKind.Local;
connectstring = s.ToString();

上面保存的数据,读取出来的时候,都是2014-11-17 19:37:32

但是筛选条件的时间,必须是超过2014-11-18 03:37:32,否则的话,筛选不到‘2014-11-17T19:37:32‘

 

如果注释掉上面的语句s.DateTimeKind = DateTimeKind.Local;

查询的时候,也是同样的效果,筛选条件的时间,必须是超过2014-11-18 03:37:32,不然也无法筛选出需要的时间

 

 

如果将s.DateTimeKind 设置为  s.DateTimeKind = DateTimeKind.Utc;

筛选时间的时候,还是需要按照超过2014-11-18 03:37:32来筛选,读取的时间显示还是2014-11-17 19:37:32

 

 

郁闷了,完全不知道设置DateTimeKind 的意义了

 

 

需要找个时间,专门写个demo研究一下

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。