- 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
可以透過轉換為浮點數來獲得基礎小數天數。
廣告