我正在尝试创建一个简单的程序,它接受日期并将其标记为红色,绿色或黄色,这取决于它说“今天()”的距离。
我正在使用PocketQuery http://www.scandio.de/en/atlassian-en/plugins/pocketquery 我用来从Oracle数据库获取日志时间,查询加载正常,我有一个很好的小$结果列表。
这个日期
下面我使用了我在PocketQuery Doc中找到的示例模板,我将其用作使脚本工作的第一步。只是做一个简单的日期时间比较。变量LOG_TIME采用日期时间格式。
此脚本遍历结果并为每行执行X.
我测试了$ dateFormatter.getCurrentDateTime()并输出了正确的时间。 所以它必须与我认为的结果有关。
下一步是让比较更精细,比如检查LOG_TIME是否说...从设定日期起30分钟,黄色但第一步的颜色是让比较工作。
<style>
.high { background: red; }
.low { background: yellow; }
</style>
<table class="pocketquery-table confluenceTable">
<tr>
#foreach ($column in $columns)
<th>$!column</th>
#end
</tr>
#foreach ($row in $result)
<tr class="#if($row.LOG_TIME < $dateFormatter.getCurrentDate())high#{elseif} ($row.LOG_TIME > $dateFormatter.getCurrentDateTime())low#end">
#foreach ($column in $row)
<td>$!column</td>
#end
</tr>
</table>
TLDR:
答案 0 :(得分:0)
我想向你们介绍我的进展情况。 我的代码与我想要的有些密切相关。
<style>
.high { background: red; font-weight: bold;}
.low { background: greenyellow; font-weight: bold; }
</style>
##create instance of calender
#set($todayAtEight = $calendar.getInstance())
##set time, todo..check if there is a better way of doing this...
$todayAtEight.set(15, 10)
$todayAtEight.set(12, 46)
$todayAtEight.set(13, 5)
$todayAtEight.getTime()
<br/>
<table>
##loop result
#foreach ($row in $result)
##save parameter rowdate
#set($rowDate = $calendar.getInstance())
$rowDate.setTime($row.LOGG_TID)
#if($todayAtEight.before($rowDate))
<tr class="low">
#else
<tr class="high">
#end
<td>
$dateFormatter.formatGivenString("YYYY-MM-dd hh:mm:ss", $row.LOGG_TID)
</td>
<td>
$row.DVH_AREA
</td>
</tr>
#end
</table>