You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Apache Camel中实现日期格式转换的方法及依赖咨询

Apache Camel 日期格式转换实现方案

实现方法

方法1:使用Camel Simple语言直接转换

直接在setHeader中通过Simple的date()函数完成格式转换,无需额外编写Java代码。注意区分月份(MM)和分钟(mm),输入格式对应dd-MM-yyyy(匹配传入的dd-mm-yyyy格式,此处的mm实际代表月份,需用MM表示),输出格式为MM/dd/yyyy:

<setHeader headerName="fitnessUpto">
    <simple>${exchangeProperty.fitnessUpto.date('dd-MM-yyyy', 'MM/dd/yyyy')}</simple>
</setHeader>

方法2:自定义Bean处理(适合复杂转换场景)

如果需要更灵活的日期处理逻辑,可以编写Java Bean完成转换:

  1. 编写日期转换类:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateConverter {
    public String convertToMMDDYYYY(String inputDate) throws ParseException {
        // 定义输入格式:日-月-年
        SimpleDateFormat inputFormatter = new SimpleDateFormat("dd-MM-yyyy");
        Date date = inputFormatter.parse(inputDate);
        
        // 定义输出格式:月/日/年
        SimpleDateFormat outputFormatter = new SimpleDateFormat("MM/dd/yyyy");
        return outputFormatter.format(date);
    }
}
  1. 在CamelContext中注册Bean并调用:
<!-- 注册自定义Bean -->
<bean id="dateConverter" class="com.your.package.DateConverter"/>

<!-- 调用Bean方法转换Header值 -->
<setHeader headerName="fitnessUpto">
    <method bean="dateConverter" method="convertToMMDDYYYY">
        <parameter>${exchangeProperty.fitnessUpto}</parameter>
    </method>
</setHeader>

所需依赖

  • 使用Simple语言转换:无需额外依赖,只需确保项目已引入Apache Camel Core依赖(Maven示例):
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
    <version>你的Camel版本号</version> <!-- 例如 3.20.2、4.0.0 等稳定版本 -->
</dependency>
  • 使用自定义Bean:仅需JDK标准库,同样依赖上述Camel Core包即可。

内容的提问来源于stack exchange,提问作者Suyash Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 14:12:04