首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Birt报告中将字符串转换为时间/分钟?

如何在Birt报告中将字符串转换为时间/分钟?
EN

Stack Overflow用户
提问于 2015-01-13 06:58:15
回答 1查看 1.6K关注 0票数 1

我在数据库中存储了字符串值,比如“下午4:30”,我在Birt中获取它。我想将这个值转换为分钟。有什么方法/方法(在birt/database中)来做到这一点吗?(夹板及加法除外)

P.S.:我想找出“下午4:30”和“04:45”之间的分钟差异(存储在时间上)。

我在使用Postgres数据库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 09:23:57

我同意Frank的意见,将字符串类型存储在数据库中表示时间值是非常不有效的设计。然而,有时我们不可能轻易地改变这一点。下面是如何用BIRT解析这样的格式。

在dataset中创建计算列,将"Time“设置为dataType,然后输入为表达式:

代码语言:javascript
运行
复制
var dateFormat = new java.text.SimpleDateFormat("hh:mm a",java.util.Locale.ENGLISH);
dateFormat.parse(row["timeString"]);

当然,"timeStr“是该字符串格式的时间列的名称。如果数据集应该处理大量卷,则可以通过在"dateFormat“事件中只对”beforeOpen“进行一次初始化来优化该表达式。

对于第二个问题,Birt有一个本机静态函数来获得分钟内的差异:

代码语言:javascript
运行
复制
BirtDateTime.diffMinute(time1, time2);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27916489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档