首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

请问Sqlite中调用datetime三种方式的区别

2012-03-29 
请教Sqlite中调用datetime三种方式的区别?下面是在Sqlite中的调用及结果SQL codeselect datetime(13117613

请教Sqlite中调用datetime三种方式的区别?
下面是在Sqlite中的调用及结果

SQL code
select datetime(1311761337,'unixepoch','localtime') -- 调用结果:2011-07-27 18:08:57select datetime(1311761337,'unixepoch')             --调用结果:2011-07-27 10:08:57select datetime(1311761337,'unixepoch','utc')       --调用结果:2011-07-27 02:08:57



上述结果中我对datetime(1311761337,'unixepoch','utc') 与datetime(1311761337,'unixepoch')调用理解上有点混淆了,

下面是我用C语言实现的
C/C++ code
time_t timestamp=1311761337;tm *tmUtc,*tmLocal;tmUtc=gmtime(&timestamp); cout<<asctime(tmUtc)<<endl;//结果2011-07-27 10:08:57 对应数据库中datetime(1311761337,'unixepoch')的调用tmLocal=localtime(&timestamp);cout<<asctime(tmLocal)<<endl;//2011-07-27 18:08:57 对应数据库中datetime(1311761337,'unixepoch','localtime')的调用


C语言中的gmtime调用先前认为是与数据库中datetime(1311761337,'unixepoch','utc')调用相对应的,但实际上不是,gmtime调用对应datetime(1311761337,'unixepoch')调用,那么对datetime(1311761337,'unixepoch','utc')调用怎么理解呢?它难道不是应该理解为把本地时间戳转换成UTC时间吗?


[解决办法]
官网有说明的 http://www.sqlite.org/lang_datefunc.html
英文不好,看的头大...
select datetime(1311761337,'unixepoch','utc') 
查询utc相对于本地的时间,把本地当为0区,而utc为-8区 ,不知道是不是这个意思


[解决办法]
又重新看了下官方的说明,
localtime假定左边的参数是utc时间,转换为当地时区
而utc假定左边的参数是当地时区,转换为utc时间
 "utc" assumes that the string to its left is in the local timezone and adjusts that string to be in UTC.

热点排行