2012-11-20 48 views
0

我遇到問題將"05:10:15D+0"轉換爲DateTime。路透社的數據類型爲「bftime」,時間爲GMT/UTC。轉換爲DateTime「05:10:15D + 0」

我不想將其子串,因爲我有多個市場數據提供商,只發送這個價值如果市場尚未開放,那麼日期。

以下是我試圖convert.ToDateTime

方式
MDLastTick = Convert.ToDateTime(LastTick); 

例外:

該字符串未被識別爲有效的DateTime。有一個未知的單詞從索引8開始。

+0

您是否指定了文化? – Isuru

+0

什麼是累積更新? –

+0

@HamletHakobyan:持有他想要轉換的數據的對象... –

回答

0

您可以使用此正則表達式來抓取時間組件:\d{1,2}:\d{1,2}:\d{1,2}(或者只是使用前8個字符作爲子串) - 然後datetime.parse匹配時間。你知道它始終是UTC,所以你可以忽略D + 0。

但這只是一個時間,而不是日期。

+0

謝謝:)初始測試非常適合這種方法。測試更多 – Rauld

1

你有什麼不是日期時間,因爲它缺少日期部分。你只有時間,所以考慮使用TimeSpan.Parse

+0

謝謝,但是如何解析它以防萬一我得到DateTime? – Rauld

+0

@Rauld - 如果沒有日期組件,則無法獲得DateTime。這是沒有辦法的。不過,您可以設定一個日期並使用它。 – Oded

+0

不能解析它作爲TimeSpan字符串s =「05:10:15D + 0」; TimeSpan s1 = TimeSpan.Parse(「05:10:15D + 0」);例外:字符串未被識別爲有效的TimeSpan。 – Rauld