最近在做一个项目,其中用到了与sqlite3中时间类型,这里把学到的结果总结下。
我们通常用到的时间通常分为两种,本地时间和UTC时间。
这两种时间的产生是按时区具体划分的,其区别可以google之,这时就不多说了,简单来说就是UTC时间是时区为0的某个地方的时间,本地时间与其相差几个小时(多或少)。
在<ctime>头文件中有一个函数
time_t time(time_t* tt)
其中time_t就是一个long int类型,它返回的是系统时间与格林治时间(1970年1月1日 00:00:00)相差的秒数。而另外两个函数
struct tm * localtime ( const time_t * timer );
struct tm * gmtime ( const time_t * timer );
则将time_t类型转化为tm结构,tm结构中包含了较多的信息,如星期几,几年几月等等。这两个函数的区别你可以理解为localtime返回的就是参数中时间的封闭,而gmtime则可以认为是localtime返回的结果送去与UTC相差的几个小时所得到的时间,即为UTC时间,这里我认为操作系统中保存了时区信息。
sqlite3中的时间日期可以字符串、整型、浮点类型表示,这里我们选择用整型表示,因为它比较简单(比字符串简单),而且能表示日期和时间(浮点类型只能表示日期)。当我们要把整型转化为日期时间类型时,要使用以下形式:
datetime(12345678,'unixepoch')
datetime(12345678,'unixepoch','localtime')
这里unixepoch表示传入的参数是一个时间戳,当不加localtime里,我们可认为它调用的是gmtime这个方法,否则它调用的是localtime这个方法(当然这里不一定是这两个方法,我们只是可以这样认为)。当你使用select 语句打印结果时可以看到它们的差别。
分享到:
相关推荐
SQLite3 的类库,已经转了格式,可以在c++builder中使用, 使用BCB 2010通过。放在这里留个备份。
Android的SQLite中DateTime类型数据的存取问题
基于C++&qt+sqlite3编写的背单词系统.zip基于C++&qt+sqlite3编写的背单词系统.zip 基于C++&qt+sqlite3编写的背单词系统.zip基于C++&qt+sqlite3编写的背单词系统.zip 基于C++&qt+sqlite3编写的背单词系统.zip基于C++&...
c++调用sqlite3需要的三个文件,分别是sqlite3.dll sqlite3.h sqlite3.lib
Sqlite3 C++ 简单单例数据库操作类封装,支持数据的简单操作,可用,尚不完善
使用C++操作SQLite数据库,在windows平台上,用C++语言
文件中包含的为源码,最后导出提供的dll文件,其中包含有: 1、C++读写Excel; 2、C++操作SQLite数据库;
该文件中包含有: 1、NPOI_EXCEL工程: 该工程文件中包含有C#工程对NPOI.dll的的读写进行封装成类库的操作,主要是使用... 该工程是C++操作数据库的简单封装,主要是对数据库的基本操作,涉及有SQLite和SQL Sever数据库
sqlite3C++版动态库和头文件,可直接调用。
SQLite3中的数据类型
SQLiteSpy_1.8.5 数据库查看UI程序 :查看SQLIte3 数据库的UI小程序 _SQLite权威指南.pdf SQLite学习手册_中文全本.pdf CppSQLite3U国外牛人的sqlite封装.zip C++封装类使用方法:...
SQLite3的C++接口,实现1.查询 2.插入 3.更新 4.删除 5.清屏 6.跳出 六个功能!
基于sqlite-amalgamation-3280000和wxsqlite3-3.3.1重编译版本,支持Sqlite3_key和Sqlite3_rekey方法
SQLite3应用库C++,不用编译,里面带exe,dll,.h文件 使用方法参照内部ReadMe文档。
SQLite并没有一次性做到位,只有下载这些东西是不能放在vs2010中并马上使用的,下载下来的文件中有sqlite3.c/h/dll/def,还是...就能生成sqlite3.exp和sqlite3.lib文件了,这样在工程中就可以加入lib文件进行编译了。
在Windows操作系统下,如果想通过C++...共包括以下五个文件:sqlite3.lib sqlite3.h sqlite3.dll sqlite3.def mspdb60.dll 相关调用调用步骤和使用方法可见如下内容: http://linger-yan.iteye.com/admin/blogs/1600007
自己用C++封装sqlite3 for vc,内含Sqlite3 官方库
C版sqlite3再封装成C++版,简化创建数据库,增加动态参数绑定快捷函数,查询辅助类,支持更改表字段,删除表字段, 加入异常抛出,事务开始提交回滚
基于标准库的C++ sqlite3常用功能封装和使用 实现对SQLite常用功能的封装,如:增,删,改,查,事务。
自己编写的一个c++ 版sqlite数据库访问帮助类,主要对sqlite的常用的几个接口函数进行封装成一个类,实现查询、事务处理等基本数据库访问应用,简单,好用,希望对大家有用,注意传人的参数是stl 的string 类型,...