2017-09-13 64 views
0

嗨,我的報告需要一個startDate字符串參數,值爲「2017/03/18」被傳入。我需要將其格式化爲2017年3月18日。從BIRT中的參數格式化日期

我試過使用formatter.format(params [「startDate」]。value,'dd MMM yyy');但它仍然不起作用。我也在屬性選項卡中使用了格式日期時間,它也不起作用。

關於如何將其轉換爲我想要的格式的任何想法?

謝謝!

回答

0

首先您需要將字符串日期轉換爲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