如何在Talend中将特定字符串转换为日期
在塔伦德 2019年10月21日至27日如何在Talend中将特定字符串转换为日期,talend,date-conversion,Talend,Date Conversion,在塔伦德 2019年10月21日至27日 有没有办法将上述文本转换为日期格式,我只希望2019年10月21日为2019年10月21日格式是的,这并不简单,因为一个字段上只有两个日期,年份只显示一次 您可以通过tMap_1-->t标准化-->tMap_2来实现这一点 在tMap_1中,必须将“MMM dd”与“YYYY”分开,后者出现在字符串的末尾。在输入字段上使用拆分方法: myFlow.myDateField.split("\\(")[0] will give you the part wit
有没有办法将上述文本转换为日期格式,我只希望2019年10月21日为2019年10月21日格式是的,这并不简单,因为一个字段上只有两个日期,年份只显示一次 您可以通过tMap_1-->t标准化-->tMap_2来实现这一点 在tMap_1中,必须将“MMM dd”与“YYYY”分开,后者出现在字符串的末尾。在输入字段上使用拆分方法:
myFlow.myDateField.split("\\(")[0] will give you the part with `Oct 21 - Oct 27`
myFlow.myDateField.split("\\(")[1] will give you the part with the year.
使用StringHandling.LEFT
仅获取年份,不带右括号。
使用StringHandling.TRIM可以消除额外的空间。
然后在输出中有两个字段
然后,您可以使用tNormalize(normalize on“-”)将年份放在每个MMM/dd字段的前面。
在输出中,您将有两行两列:
"Oct 21|2019"
"Oct 27|2019"
在最后一个tMap中,根据需要连接两个输入字段,并使用
TalendDate.parseDateLocale
解析日期。(TalendDate.parseDate无法工作,因为您有“Oct”,这需要parseDateLocale方法才能工作)。是的,这并不简单,因为一个字段上只有两个日期,年份只显示一次
您可以通过tMap_1-->t标准化-->tMap_2来实现这一点
在tMap_1中,必须将“MMM dd”与“YYYY”分开,后者出现在字符串的末尾。在输入字段上使用拆分方法:
myFlow.myDateField.split("\\(")[0] will give you the part with `Oct 21 - Oct 27`
myFlow.myDateField.split("\\(")[1] will give you the part with the year.
使用StringHandling.LEFT
仅获取年份,不带右括号。
使用StringHandling.TRIM可以消除额外的空间。
然后在输出中有两个字段
然后,您可以使用tNormalize(normalize on“-”)将年份放在每个MMM/dd字段的前面。
在输出中,您将有两行两列:
"Oct 21|2019"
"Oct 27|2019"
在最后一个tMap中,根据需要连接两个输入字段,并使用TalendDate.parseDateLocale
解析日期。(TalendDate.parseDate无法工作,因为您有“Oct”,这需要parseDateLocale方法才能工作)