2013-05-03 95 views
0

我正在使用SSIS創建一個包,該包將存儲我的數據庫表中的excel文件中的數據。其中一列是DateTime類型列。在我的劇本,我這樣做:C# - SSIS:將字符串轉換爲日期的腳本問題

Row.BillingDate = DateTime.ParseExact(Row.F4,"dd/MM/yyyy HH:mm:ss", null); 

但是,當我啓動腳本,並返回此錯誤,這是行不通的:

String was not recognized as a valid DateTime : at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) 

我不知道該怎麼辦的想法。 Row.BillingDate是一個DateTime,Row.F4是一個字符串。我該如何解決這個問題?

編輯:F4包含一個字符串,它代表dd/mm/yyyy格式的日期。

+3

'Row.F4'的價值是什麼? – Stefan 2013-05-03 12:37:00

+0

這是一個表示日期的字符串。這個日期的格式是dd/MM/yyyy。例如:31/12/2012 – Traffy 2013-05-03 12:42:48

+3

你爲什麼試圖從沒有h/m/s的刺痛中解析hms? – billinkc 2013-05-03 12:44:56

回答

1

IIRC,您指定的格式(通過"yyyy/MM/dd HH:mm:ss")必須與字符串所在的格式相匹配。請嘗試DateTime.ParseExact(Row.F4.ToString(),"dd/MM/yyyy", CultureInfo.InvariantCulture);

另請注意,您不指定時間。如果解析成功,則時間將評估爲午夜(0:00:00)。

+0

感謝您的回答。但是,我遇到了同樣的問題,稱該字符串未被識別爲有效的DateTime。 – Traffy 2013-05-03 12:53:03

+0

@Traffy我已經編輯了我的答案,你可以給'CultureInfo.InvariantCulture'一個去嗎? – Stefan 2013-05-03 12:56:36

+0

Thnaks再次,但我試過這樣,沒有什麼變化。我的F4數據包含一個表示日期的字符串,例如:2012年12月31日 – Traffy 2013-05-03 12:59:19