Talend 日期:将 EST 时间解析为 UTC

Posted

技术标签:

【中文标题】Talend 日期:将 EST 时间解析为 UTC【英文标题】:Talend date : Parse EST time into UTC 【发布时间】:2019-01-10 12:31:15 【问题描述】:

我正在尝试将 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  

【问题讨论】:

【参考方案1】:

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))

希望它会有所帮助。

【讨论】:

组件 tMap_3 中的异常(示例)java.lang.RuntimeException: java.text.ParseException: Unparseable date: ""1/14/2019 12:05 AM" at routines.TalendDate.parseDate(TalendDate .java:898) 在routines.TalendDate.parseDate(TalendDate.java:842) 仍然遇到这个问题 任何人请帮助我 @JyotiKumari 您的字符串中似乎有一个额外的 "。您应该在使用方法 parseDate 之前检查数据中的内容。

以上是关于Talend 日期:将 EST 时间解析为 UTC的主要内容,如果未能解决你的问题,请参考以下文章

UTC 到 EST SQL Server 2008

如何将时间从 UTC 转换为 EST?

将 postgresql 中的 UTC 时区转换为 EST(本地时间)

将 UTC 转换为 EST 不适用于 Android 上的夏令时

使用 date-fns 将日期解析为 UTC 的正确方法

如何实现“tzinfo”以将当前 GMT 偏移到 EST(GMT -4:00)?