【问题标题】:Trac Reporting export Change history with date time跟踪报告导出 日期时间的更改历史记录
【发布时间】:2016-06-01 14:43:58
【问题描述】:

我正在尝试通过制表符分隔的文本文件导出来导出我所有 trac 票证的更改历史记录。 到目前为止,我使用以下 SQL 语句取得了成功:

SELECT 

id AS Ticket,
tc.author as author,
tc.field as field, 
tc.newvalue as comments_new
from ticket t
LEFT JOIN ticket_change tc ON ( t.id=tc.ticket ) 

但我还需要每个条目的时间和日期。表 ticket_change 中有一个字段时间,但它只是没有日期的时间。 似乎我必须使用 SQL 中的一些函数来获得我需要的东西。任何人都可以帮我到达那里吗?

非常感谢每一个帮助。 最好的祝福 阿里

【问题讨论】:

  • Mysql 中的一个示例如何显示 datetime now 与 change_table 中的时间差异也有助于解决此问题。

标签: mysql reporting trac


【解决方案1】:

time 字段是一个表示纪元微秒的整数。您可以使用 Trac 实用程序 trac.util.datefmt.from_utimestamp 将值转换为 datetime 格式。不过,这仅在您使用 Python 工作时才有帮助。在其他语言中,您可以使用配方从unix seconds 进行转换。请注意,您必须先将 Trac 中的值除以 1e6,才能将微秒转换为秒。

【讨论】:

  • 嗨@RjOllos 谢谢你的回答。目前我只能访问 MySQL,因此无法使用 Pyhton 方式。我尝试了以下语句,但由于语法
     'SELECT id AS Ticket, tc.author as author, tc.field as字段,(select(FROM_UNIXTIME(tc.time, '%d.%m.%Y %H:%i'))) 作为时间,tc.newvalue as cmets_new from ticket t LEFT JOIN ticket_change tc ON (t.id= tc.ticket )  <br>'
  • 当我尝试使用 FROM_UNIXTIME 报告执行失败时得到以下信息:没有这样的功能:FROM_UNIXTIME
  • 您必须检查您的 MySQL 版本,然后查阅文档以查看该功能是否可用。
  • 感谢您报告我无法弄清楚的情况:时间以 微秒 为单位存储,因此您必须将它们除以 1e6。我发现的所有例子都没有表明这一点,没有它from_unixtime(time) 总是返回 NULL。
猜你喜欢
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 2020-11-12
  • 2013-03-17
  • 2011-05-20
  • 1970-01-01
  • 2020-11-07
相关资源
最近更新 更多