比较PocketQuery的日期

时间:2014-10-08 17:09:17

标签: velocity confluence

我正在尝试创建一个简单的程序,它接受日期并将其标记为红色,绿色或黄色,这取决于它说“今天()”的距离。

我正在使用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:

  • 如何比较从口袋查询到我从Velocity获得的日期(dateFormat,日期,等等)?

1 个答案:

答案 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>