- KDB+ 教程
- KDB+ - 主页
- Q 编程语言
- Q 编程语言
- Q 语言 - 类型转换
- Q 语言 - 时间数据
- Q 语言 - 列表
- Q 语言 - 索引
- Q 语言 - 字典
- Q 语言 - 表格
- Q 语言 - 动词和副词
- Q 语言 - 联接
- Q 语言 - 函数
- Q 语言 - 内置函数
- Q 语言 - 查询
- Q - 进程间通信
- Q - 消息处理程序(.Z 库)
- KDB+ 有用资源
- KDB+ - 快速指南
- KDB+ - 有用资源
- KDB+ - 讨论
Q 语言 - 时间数据
q 语言有很多不同的方法来表示和操纵时间数据,例如时间和日期。
日期
kdb+ 中的日期在内部存储为整数,表示自我们的参考日期 01Jan2000 以来经过的天数。该日期之后的日期在内部存储为正数,而之前的日期引用为负数。
默认情况下,日期以“YYYY.MM.DD”格式写入
q)x:2015.01.22 / This is how we write 22nd Jan 2015 q)`int$x / Number of days since 2000.01.01 5500i q)`year$x / Extracting year from the date 2015i q)x.year / Another way of extracting year 2015i q)`mm$x / Extracting month from the date 1i q)x.mm / Another way of extracting month 1i q)`dd$x / Extracting day from the date 22i q)x.dd / Another way of extracting day 22i
算术和逻辑运算可以直接在日期上执行。
q)x+1 / Add one day 2015.01.23 q)x-7 / Subtract 7 days 2015.01.15
2000 年 1 月 1 日是星期六。因此,在过去或将来任何一个星期六除以 7,都会得到余数 0,星期日给 1,星期一给 2。
Day mod 7
Saturday 0
Sunday 1
Monday 2
Tuesday 3
Wednesday 4
Thursday 5
Friday 6
时间
时间在内部存储为自午夜以来的毫秒数的整数。时间以 HH:MM:SS.MSS 格式写入。
q)tt1: 03:30:00.000 / tt1 store the time 03:30 AM q)tt1 03:30:00.000 q)`int$tt1 / Number of milliseconds in 3.5 hours 12600000i q)`hh$tt1 / Extract the hour component from time 3i q)tt1.hh 3i q)`mm$tt1 / Extract the minute component from time 30i q)tt1.mm 30i q)`ss$tt1 / Extract the second component from time 0i q)tt1.ss 0i
与日期一样,算术可以直接在时间上执行。
日期时间
日期时间是日期和时间的组合,用“T”分隔,如 ISO 标准格式。日期时间值存储自 2000 年 1 月 1 日午夜以来的小数天数。
q)dt:2012.12.20T04:54:59:000 / 04:54.59 AM on 20thDec2012 q)type dt -15h q)dt 2012.12.20T04:54:59.000 9 q)`float$dt 4737.205
可以通过转换为浮点数来获得基础小数天数。
广告