计算日期:将 EST 时间解析为 UTC



我正在尝试将 EST 时间解析为 UTC,但低于错误

[statistics] connected    
Exception in component tMap_3 (sample)    
java.lang.RuntimeException: java.text.ParseException: Unparseable date: ""    
    at routines.TalendDate.parseDate(TalendDate.java:898)    
    at routines.TalendDate.parseDate(TalendDate.java:842)   
    at local_project.sample_0_1.sample.tFileInputDelimited_3Process(sample.java:2271)    
    at local_project.sample_0_1.sample.tFileList_2Process(sample.java:3219)    
    at local_project.sample_0_1.sample.tFileList_1Process(sample.java:2872)    
    at local_project.sample_0_1.sample.runJobInTOS(sample.java:3514)     
    at local_project.sample_0_1.sample.main(sample.java:3365)    
Caused by: java.text.ParseException: Unparseable date: ""    
    at java.text.DateFormat.parse(Unknown Source)    
    at routines.TalendDate.parseDate(TalendDate.java:884)    
    ... 6 more    

我使用 tMap 进行收敛

TalendDate.formatDateInUTC("MM/dd/yyyy HH:mm aa",TalendDate.parseDate( "MM/dd/yyyy HH:mm aa",row9.Start_time))

预期输出 :

Input string : 1/2/2019 8:50 AM EST    
Expected String : 1/2/2019 1:50 PM UTC  

java.lang.RuntimeException: java.text.ParseException: Unparseable date: ""

在这一行中,您可以看到您为函数TalendDate.parseDate的值,即 ",一个空字符串。这意味着row9.Start_time为空,函数无法解析空字符串,这就是您出现异常的原因。

确保值row9.Start_time填充正确,或添加 if 子句以避免在日期为空时解析日期。你可以试试这样的事情:

(row9.Start_time == null || "".equals(row9.Start_time)) ? "" : TalendDate.formatDateInUTC("MM/dd/yyyy HH:mm aa",TalendDate.parseDate( "MM/dd/yyyy HH:mm aa",row9.Start_time))

希望它会有所帮助。

最新更新