从BIRT中的参数格式化日期
问题描述:
嗨,我的报告需要一个startDate字符串参数,值为“2017/03/18”被传入。我需要将其格式化为2017年3月18日。从BIRT中的参数格式化日期
我试过使用formatter.format(params [“startDate”]。value,'dd MMM yyy');但它仍然不起作用。我也在属性选项卡中使用了格式日期时间,它也不起作用。
关于如何将其转换为我想要的格式的任何想法?
谢谢!
答
首先您需要将字符串日期转换为Date对象,然后将日期转换为您所需格式的String。
//Before Java 8
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("dd MMMM yyyy");
String startDate = "2017/03/18";
Date sDate = sdf.parse(startDate);
String convertedDate = sdf1.format(sDate);
// Using Java 8 LocalDate & DateTimeFormatter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd MMMM yyyy");
LocalDate ldateTime = LocalDate.parse(startDate,formatter);
String formattedDate = ldateTime.format(formatter1);
这是否会在动态表达式生成器中工作? – Favonius
只要您的表达式构建器提供了支持的格式,它就应该可以工作。请阅读SimpleDateFormat和DateTimeFormatter API以获取更多信息。 – PKR