Trac sqlite日期查询
我有一个地狱的时间生成一个报告与日期的创建我的票 这是我的sqlite查询(我直接查询数据库)Trac sqlite日期查询,sqlite,datetime,timestamp,trac,Sqlite,Datetime,Timestamp,Trac,我有一个地狱的时间生成一个报告与日期的创建我的票 这是我的sqlite查询(我直接查询数据库) .header打开 .模式csv .output opentickets.csv 选择不同的 id作为票据,摘要,状态,优先级,t.type作为类型, 所有者,创建时的时间 来自票证t,票证\自定义q p.name=t.priority和p.type='priority'上的左连接枚举p 其中t.id=q.票据和状态“已关闭” 按优先级、时间顺序排列; 但我在创建时得到的价值是垃圾: 我得到1341
.header打开
.模式csv
.output opentickets.csv
选择不同的
id作为票据,摘要,状态,优先级,t.type作为类型,
所有者,创建时的时间
来自票证t,票证\自定义q
p.name=t.priority和p.type='priority'上的左连接枚举p
其中t.id=q.票据和状态“已关闭”
按优先级、时间顺序排列;
但我在创建时得到的价值是垃圾:
我得到1341324096360000
我该什么时候回家
2012-07-03
我已经尝试过unix时间转换。。。
查询:
.header打开
.模式csv
.output opentickets.csv
选择不同的
id作为票据,摘要,状态,优先级,t.type作为类型,
所有者,创建时的日期时间(时间,'unixepoch')
来自票证t,票证\自定义q
p.name=t.priority和p.type='priority'上的左连接枚举p
其中t.id=q.票据和状态“已关闭”
按优先级、时间顺序排列;
我得到:-1413-03-0113:07:12
我遗漏了什么?Unix时间戳以秒为单位,但这些值似乎是微秒:
> SELECT datetime(1341324096360000 / 1000000, 'unixepoch');
2012-07-03 14:01:36
CL以微秒为单位存储时间是正确的。您可以在中看到,时间字段是int64,在for.12中,表示他们已将时间从“自历元起秒数”更改为“自历元起微秒数” 至于我在Trac查询中显示时间的经验,我不需要做任何转换。下面是一个查询,我使用它来显示过去7天内所有更改的票据。如您所见,我在select和Trac格式中正确显示了票证更改时间。Trac将自动将创建、修改、日期、时间字段格式化为日期和/或时间。有关更多详细信息,请参见此
SELECT
tc.Ticket AS ticket,
tc.Time as time,
c.value as __group__,
ifnull(tc.Newvalue,0) as total,
tc.Author AS author,
tc.Field as field
from ticket_change tc
LEFT JOIN ticket t on t.id = tc.ticket
LEFT JOIN ticket_custom c on c.ticket = tc.ticket and c.name= 'customer'
LEFT JOIN ticket_custom tt on tt.ticket = tc.ticket and tt.name = 'totalhours'
where field = 'hours' and c.Value is not null
and tc.Time > strftime('%s',CURRENT_DATE-7) +0
and tc.Time < strftime('%s',CURRENT_DATE) +0
and tc.Author = $USER
and tt.value is not null
我希望这有帮助
> SELECT datetime(1341324096360000 / 1000000, 'unixepoch');
2012-07-03 14:01:36
SELECT
tc.Ticket AS ticket,
tc.Time as time,
c.value as __group__,
ifnull(tc.Newvalue,0) as total,
tc.Author AS author,
tc.Field as field
from ticket_change tc
LEFT JOIN ticket t on t.id = tc.ticket
LEFT JOIN ticket_custom c on c.ticket = tc.ticket and c.name= 'customer'
LEFT JOIN ticket_custom tt on tt.ticket = tc.ticket and tt.name = 'totalhours'
where field = 'hours' and c.Value is not null
and tc.Time > strftime('%s',CURRENT_DATE-7) +0
and tc.Time < strftime('%s',CURRENT_DATE) +0
and tc.Author = $USER
and tt.value is not null
strftime('%m/%d/%Y', time / 1000000, 'unixepoch', 'localtime')