转换导出文件名中的日期格式

时间:2021-07-07 09:36:21

标签: date split filenames

我正在尝试按日期拆分导出文件,并将日期从 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));
}

1 个答案:

答案 0 :(得分:0)

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

链接