Q 언어-시간 데이터

그만큼 q 언어에는 시간 및 날짜와 같은 시간 데이터를 표현하고 조작하는 다양한 방법이 있습니다.

데이트

kdb +의 날짜는 참조 날짜가 2000 년 1 월 1 일이므로 내부적으로 정수 일 수로 저장됩니다. 이 날짜 이후의 날짜는 내부적으로 양수로 저장되고 그 이전 날짜는 음수로 참조됩니다.

기본적으로 날짜는 "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

Arithmetic and logical operations 날짜에 직접 수행 할 수 있습니다.

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

날짜의 경우처럼 시간에 직접 산술을 수행 할 수 있습니다.

날짜 시간

날짜 / 시간은 ISO 표준 형식에서와 같이 'T'로 구분 된 날짜와 시간의 조합입니다. datetime 값은 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

기본 분수 일 수는 부동으로 캐스팅하여 얻을 수 있습니다.