android sqllite时间函数,SQLITE 时间字段操作函数

SQLite中的时间日期函数

这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的《SQLite》中的《Working with Dates and Times》一文中的部分内容。

SQLite包含了如下时间/日期函数:

datetime().......................产生日期和时间

date()...........................产生日期

time()...........................产生时间

strftime().......................对以上三个函数产生的日期和时间进行格式化

datetime()的用法是:datetime(日期/时间,修正符,修正符...)

date()和time()的语法与datetime()相同。

在时间/日期函数里可以使用如下格式的字符串作为参数:

YYYY-MM-DD

YYYY-MM-DD HH:MM

YYYY-MM-DD HH:MM:SS

YYYY-MM-DD HH:MM:SS.SSS

HH:MM

HH:MM:SS

HH:MM:SS.SSS

now

其中now是产生现在的时间。

举例(写这个笔记的时间是2006年10月17日晚8点到10点,测试环境:SQLite 2.8.17,WinXP,北京时间):

例1.

select datetime('now');

结果:2006-10-17 12:55:54

例2.

select datetime('2006-10-17');

结果:2006-10-17 12:00:00

例3.

select datetime('2006-10-17 00:20:00','+1 hour','-12 minute');

结果:2006-10-17 01:08:00

例4.

select date('2006-10-17','+1 day','+1 year');

结果:2007-10-18

例5.

select datetime('now','start of year');

结果:2006-01-01 00:00:00

例6.

select datetime('now','start of month');

结果:2006-10-01 00:00:00

例7.

select datetime('now','start of day');

结果:2006-10-17 00:00:00

例8.

select datetime('now','+10 hour','start of day','+10 hour');

结果:2006-10-17 10:00:00

例9.

select datetime('now','localtime');

结果:2006-10-17 21:21:47

例10.

select datetime('now','+8 hour');

结果:2006-10-17 21:24:45

例3中的+1 hour和-12 minute表示可以在基本时间上(datetime函数的第一个参数)增加或减少一定时间。

例5中的start of year表示一年开始的时间。

从例8可以看出,尽管第2个参数加上了10个小时,但是却被第3个参数“start of day”把时间归零到00:00:00,随后的第4个参数在00:00:00

的基础上把时间增加了10个小时变成了10:00:00。

例9把格林威治时区转换成本地时区。

例10把格林威治时区转换成东八区。

strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。

strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, ...)

它可以用以下的符号对日期和时间进行格式化:

%d 月份, 01-31

%f 小数形式的秒,SS.SSS

%H 小时, 00-23

%j 算出某一天是该年的第几天,001-366

%m 月份,00-12

%M 分钟, 00-59

%s 从1970年1月1日到现在的秒数

%S 秒, 00-59

%w 星期, 0-6 (0是星期天)

%W 算出某一天属于该年的第几周, 01-53

%Y 年, YYYY

%% 百分号

strftime()的用法举例如下:

例11.

select strftime('%Y.%m.%d %H:%M:%S','now','localtime');

结果:2006.10.17 21:41:09

例11用圆点作为日期的分隔附,并把时间转换为当地的时区的时间。

-------------------

select datetime('2015-06-10 11:17:00','+1 day','-1 hour','-10 minute','+1 year','start of day','+1 hour');

注意前面的条件会被后面的覆盖.

sqlite> select strftime('%Y-%m-%d %H:%M:%S','now','localtime');

注意格式化时要使用指定的%符号,其实相当于c里面的sprintf

mysql 时间字段的函数 timestamp

Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static ...

pandas dataframe 时间字段 diff 函数

pandas pandas 是数据处理的利器,非常方便进行表格数据处理,用过的人应该都很清楚,没接触的可以自行查阅pandas 官网. 需求介绍 最近在使用 pandas 的过程中碰到一个问题,需要计 ...

mysql查询语句常用字段操作函数

一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为nu ...

HIVE 时间操作函数

转自http://www.oratea.net/?p=944 日期函数UNIX时间戳转日期函数: from_unixtime语法:   from_unixtime(bigint unixtime[,  ...

mysql时间操作函数和存储过程

因为业务须要统计一批数据.用到关于mysql的时间操作函数和存储过程,问题已经基本解决.把过程记录下: 1. mysql的语句中不支持直接用循环.循环仅仅能在存储过程中使用. 2. 写为文件时,注意一 ...

sqlite 时间函数及时间处理

SQLite分页显示:Select * From news order by id desc Limit 10 Offset 10这篇文章是根据 SQLite 官方 WIKI 里的内容翻译,如果有什么 ...

Hive 时间操作函数(转)

1.日期函数UNIX时间戳转日期函数: from_unixtime 语法:   from_unixtime(bigint unixtime[, string format]) 返回值: string ...

孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数

孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...

随机推荐

多Linux系统如何复用/home目录

Brief: 1./home单独分区:2.不同系统/home建立不同的用户名:3.不同系统/home对其他用户授权 Linux下/home文件夹可以通用吗?例如我机器上同时装了两个Linux系统,可以 ...

python学习笔记12 ----线程、进程

进程和线程的概念 进程和线程是操作系统中两个很重要的概念,对于一般的程序,可能有若干个进程,每一个进程有若干个同时执行的线程.进程是资源管理的最小单位,线程是程序执行的最小单位(线程可共享同一进程里的 ...

[原] XAF 如何基于业务规则禁用属性

How to: Disable Property Editors Based on a Business Rule // Developer Express Code Central Example: ...

Node创建TCP聊天

//创建新的tcp服务器var net = require('net');var chatServer = net.createServer()chatServer.on('connection',f ...

CentOS 6.5 64位 安装zabbix-2.2.0

安装环境: VM 10 + CentOS-6.5-x86_64-minimal 虚拟机网络是NAT方式, 动态IP Xshell登录到Centos操作 刚装的centos,啥都没有,先配一下yum 首 ...

Spring的线程池ThreadPoolTaskExecutor使用案例

1.Sping配置文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值