【问题标题】:Convert date format in export filename转换导出文件名中的日期格式
【发布时间】:2021-07-07 09:36:21
【问题描述】:

我正在尝试按日期拆分导出文件并将日期从 yyyy-mm-dd 格式化为 yyyyMMdd。关于如何实现这一点的任何建议?

@Override
public String getFilename(String filenamePattern, Long jobId, Map<String, String> rowData) {
    String dateId = rowData.get("field::sales:date");
    return MessageFormat.format("Sales_Report.csv", DateUtil.formatFromStandardTo(dateId,"yyyyMMdd"), String.valueOf(jobId));
}

【问题讨论】:

    标签: date split filenames


    【解决方案1】:

    java.time

    我不确定我是否了解您的上下文。但是,从 yyyy-MM-dd 转换为 yyyyMMdd 格式很简单:

        String dateId = "2021-07-08";
        
        LocalDate date = LocalDate.parse(dateId);
        String formattedDate = date.format(DateTimeFormatter.BASIC_ISO_DATE);
    
        System.out.println(formattedDate);
    

    输出:

    20210708

    我正在利用您的两种格式都是 ISO 8601。LocalDate 将 yyyy-MM-dd ISO 8601 变体作为其默认值进行解析,也就是说,无需我们指定格式化程序。更紧凑的 yyyyMMdd 变体的格式化程序构建为 DateTimeFormatter.BASIC_ISO_DATE

    链接

    【讨论】:

      猜你喜欢
      • 2020-08-30
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      相关资源
      最近更新 更多