繁体   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