无法在 tMap 组件 Talend 中将字符串转换为日期
Unable to convert string into date in tMap component Talend
我遇到了一些类似的问题,但这些解决方案对我不起作用我有一个日期字段,它是时间戳的字符串"1631898440"
我尝试使用 tMap 将此字符串转换为日期但出现此错误- java.lang.RuntimeException: java.text.ParseException: Unparseable date: "1631898440"
.
我正在使用的功能-
row5.mydatecolumn!=null && !"".equalsIgnoreCase(row5.mydatecolumn)? TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", row5.mydatecolumn, "EN") :null
也尝试过-
TalendDate.parseDate("ddMMyyyy",row5.mydatecolumn)
在此我得到这个错误- timestamp out of range: "898442-07-16 00:00:00+05:30"ERROR
如何解决这个问题是不是日期格式有问题?
在您的用户例程中创建一个像这样的函数:
public static Date Convert_String_To_Date(String String_Timestamp) {
SimpleDateFormat sf = new SimpleDateFormat("ddMMyyyy");
Date date = new Date(Long.parseLong(String_Timestamp));
System.out.println("*** Date Converted to this patter ddMMyyyy : "+sf.format(date));
return TalendDate.parseDate("ddMMyyyy",sf.format(date)) ;
}
别忘了导入
import java.text.SimpleDateFormat;
import java.util.Date;
然后对我来说,我只是把一个 tjava 组件放在我调用我的函数的地方,如下所示
String str = "1631898440";
System.out.println(Format_String_Date.Convert_String_To_Date(str)) ;
所以,在你的情况下,我猜你会像这样在你的 tMap 中调用这个函数:
row5.mydatecolumn!=null && !"".equalsIgnoreCase(row5.mydatecolumn)?
Format_String_Date.Convert_String_To_Date(row5.mydatecolumn) :null
这是输出
[statistics] connected
*** Date Converted to this patter ddMMyyyy : 19011970
Mon Jan 19 00:00:00 CET 1970
[statistics] disconnected
我遇到了一些类似的问题,但这些解决方案对我不起作用我有一个日期字段,它是时间戳的字符串"1631898440"
我尝试使用 tMap 将此字符串转换为日期但出现此错误- java.lang.RuntimeException: java.text.ParseException: Unparseable date: "1631898440"
.
我正在使用的功能-
row5.mydatecolumn!=null && !"".equalsIgnoreCase(row5.mydatecolumn)? TalendDate.parseDateLocale("EEE MMM dd HH:mm:ss zzz yyyy", row5.mydatecolumn, "EN") :null
也尝试过-
TalendDate.parseDate("ddMMyyyy",row5.mydatecolumn)
在此我得到这个错误- timestamp out of range: "898442-07-16 00:00:00+05:30"ERROR
如何解决这个问题是不是日期格式有问题?
在您的用户例程中创建一个像这样的函数:
public static Date Convert_String_To_Date(String String_Timestamp) {
SimpleDateFormat sf = new SimpleDateFormat("ddMMyyyy");
Date date = new Date(Long.parseLong(String_Timestamp));
System.out.println("*** Date Converted to this patter ddMMyyyy : "+sf.format(date));
return TalendDate.parseDate("ddMMyyyy",sf.format(date)) ;
}
别忘了导入
import java.text.SimpleDateFormat;
import java.util.Date;
然后对我来说,我只是把一个 tjava 组件放在我调用我的函数的地方,如下所示
String str = "1631898440";
System.out.println(Format_String_Date.Convert_String_To_Date(str)) ;
所以,在你的情况下,我猜你会像这样在你的 tMap 中调用这个函数:
row5.mydatecolumn!=null && !"".equalsIgnoreCase(row5.mydatecolumn)?
Format_String_Date.Convert_String_To_Date(row5.mydatecolumn) :null
这是输出
[statistics] connected
*** Date Converted to this patter ddMMyyyy : 19011970
Mon Jan 19 00:00:00 CET 1970
[statistics] disconnected