妙计
10月21日至10月27日(2019)
有什么方法可以将上述文本转换为日期格式,我只想将2019年10月21日作为21/10/2019格式
答案 0 :(得分:2)
是的,这并不简单,因为您仅在一个字段上有两个日期,而Year只出现一次。
您可以使用tMap_1-> tNormalize-> 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(在“-”上标准化)将年份放在每个MMM / dd字段的前面。 在输出中,您将有两行两列:
"Oct 21|2019"
"Oct 27|2019"
在最终的tMap中,根据需要连接两个输入字段,并使用TalendDate.parseDateLocale
来解析日期。 (TalendDate.parseDate将不起作用,因为您具有“ Oct”,这需要parseDateLocale方法才能起作用。)