簡體   English   中英

如何在Birt報告中將字符串轉換為時間/分鍾?

[英]How to convert a string to time/minutes in Birt report?

我在數據庫中存儲了字符串值“4:30 PM”,我在Birt中獲取它。 我想將此值轉換為分鍾。 是否有任何方法/方式(在birt /數據庫中)這樣做? (除了夾板和添加)

PS:我想找到“4:30 PM”和04:45 PM(IT STORED IN TIME)之間的分鍾差異。

僅供參考:我正在使用Postgres數據庫。

我同意Frank的意見,存儲一個字符串類型來表示數據庫中的Time值是一種非常低效的設計。 但有時我們不能輕易改變這一點。 以下是如何在BIRT中解析這種格式。

在數據集中創建計算列,將“Time”設置為dataType並輸入為expression:

var dateFormat = new java.text.SimpleDateFormat("hh:mm a",java.util.Locale.ENGLISH);
dateFormat.parse(row["timeString"]);

其中“timeStr”當然是該字符串格式的時間列的名稱。 如果數據集應處理大量卷,則可以通過在beforeOpen事件中初始化“dateFormat”一次來優化此表達式。

對於第二個問題,Birt有一個本機靜態函數可以在幾分鍾內獲得差異:

BirtDateTime.diffMinute(time1, time2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM