【问题标题】:Formating Date from parameter in BIRT从 BIRT 中的参数格式化日期
【发布时间】:2017-09-13 20:43:31
【问题描述】:

您好,我的报告采用 startDate 字符串参数,传入的值为“2017/03/18”。我需要将其格式化为 2017 年 3 月 18 日。

我尝试过使用 formatter.format(params["startDate"].value,'dd MMM yyy');但它仍然不起作用。我还在属性选项卡中使用了格式日期时间,它也不起作用。

关于如何将其转换为我想要的格式的任何想法?

谢谢!

【问题讨论】:

    标签: java parameters format birt


    【解决方案1】:

    首先您需要将字符串日期转换为日期对象,然后将日期转换为您需要的格式的字符串。

           //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); 
    

    【讨论】:

    • 只要您的表达式生成器提供支持的格式,它就应该可以工作。通过 SimpleDateFormat 和 DateTimeFormatter API 了解更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 2013-06-25
    相关资源
    最近更新 更多