2012-07-16 224 views
1

我从一个CSV文件中读取数据,我得到“2010-7-3”, 一个字符串,我不能这个数据转换成时间戳,因为它不喜欢“2010-07-03”如何将字符串转换为DataStage中的时间戳?

我该怎么办?有一个阶段可以处理这个问题吗?

+0

您是否尝试过指定的日期格式?像StringToTimestamp(DSLink.MY_STRING_COL,“%yyyy-%m-%d”)''? – 2012-07-19 13:59:45

+0

但是,仍然有一些数据像“2010-12-30 12:30:10” – wtm 2012-07-20 02:57:39

回答

2

在变压器中,设置三个阶段变量 - 年,月和日。它们各自的值应为

Field(InputLink.string_date, "-", 1) 
Right("0" : Field(InputLink.string_date, "-", 2), 2) 
Right("0" : Field(InputLink.string_date, "-", 3), 2) 

然后在输出列中使用此:

StringToTimestamp(year : month : day : "000000", "%yyyy%mm%dd%hh%nn%ss") 
+0

我使用java stage并通过java代码处理那个问题,我没有试过你的解决方案,但是谢谢你们所有的一样。 – wtm 2012-07-20 03:03:07

相关问题