Date Talend数据集成中的铸造日期

Date Talend数据集成中的铸造日期,date,casting,bigdata,talend,data-integration,Date,Casting,Bigdata,Talend,Data Integration,在从一个表到另一个表的数据流中,我想确定一个日期 日期以以下格式作为字符串保留源表:“2009-01-05 00:00:00:000+01:00” 我尝试使用tConvertType将其转换为日期,但这显然是不允许的。 我的第二个选择是使用tMap组件中的公式将此字符串强制转换为日期 当时我尝试了以下公式: - TalendDate.formatDate("yyyy-MM-dd",row3.rafw_dz_begi); - TalendDate.formatDate("yyyy-MM-dd HH

在从一个表到另一个表的数据流中,我想确定一个日期

日期以以下格式作为字符串保留源表:“2009-01-05 00:00:00:000+01:00”

我尝试使用tConvertType将其转换为日期,但这显然是不允许的。 我的第二个选择是使用tMap组件中的公式将此字符串强制转换为日期

当时我尝试了以下公式:

- TalendDate.formatDate("yyyy-MM-dd",row3.rafw_dz_begi);
- TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",row3.rafw_dz_begi);
- return TalendDate.formatDate("yyyy-MM-dd HH:mm:ss",row3.rafw_dz_begi);
这些都不起作用。将结果插入目标表(MySQL、InnoDB)时,a会收到日期无效的错误消息。目标字段的格式是MySQL日期字段


如何将日期转换为所需格式?

Talend为您提供了一种处理日期格式的好方法。 您可以在
tMap
窗口的模式编辑器选项卡中轻松更改日期格式

它适用于
tMap
输入和输出流。 我加了一张图片以便更好地说明

要使用公式将此字符串强制转换为日期。。。。错误消息 日期无效。目标字段的格式是MySQL日期 场

我从您的问题中了解到的是,您希望在MySQL日期字段中插入一个日期

但是您正在使用的方法返回“String”类型

TalendDate.formatDate(String pattern, Date date);    //formats a date into Date/Time string
因此,在这种情况下,如果您的字段是“日期”类型

TalendDate.parseDate("yyyy-MM-dd", TalendDate.formatDate("yyyy-MM-dd",row3.rafw_dz_begi));