嗨所以我的报告接受一个startDate字符串参数,其值为" 2017/03/18"被传递。我需要把它格式化为2017年3月18日。
我尝试过使用formatter.format(params [" startDate"]。value,' dd MMM yyy');但它仍然无法奏效。我还在属性选项卡中使用了格式化日期时间,但它也不起作用。
关于如何将其转换为我想要的格式的任何想法?
谢谢!
答案 0 :(得分: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);