从BIRT中的参数格式化日期

从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); 
+0

这是否会在动态表达式生成器中工作? – Favonius

+0

只要您的表达式构建器提供了支持的格式,它就应该可以工作。请阅读SimpleDateFormat和DateTimeFormatter API以获取更多信息。 – PKR