[英]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.