0
嗨,我的報告需要一個startDate字符串參數,值爲「2017/03/18」被傳入。我需要將其格式化爲2017年3月18日。從BIRT中的參數格式化日期
我試過使用formatter.format(params [「startDate」]。value,'dd MMM yyy');但它仍然不起作用。我也在屬性選項卡中使用了格式日期時間,它也不起作用。
關於如何將其轉換爲我想要的格式的任何想法?
謝謝!
嗨,我的報告需要一個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