2011-08-15 80 views
1

如何使用時區解析以下字符串到DateTime? 我應該使用CultureInfo嗎? TimeZoneInfo?還是其他一些?如何解析此字符串作爲日期時間

15.08.11 17:15:18.084867000 +02:00

我必須嘗試使用​​以下格式:

var z = DateTime.Now.ToString("dd.MM.yy H:mm:ss.fffffff", CultureInfo.InvariantCulture); 

但它引發了異常。

+0

您是否需要**將**輸入**爲DateTime或**​​輸出** DateTime作爲該格式的字符串? –

回答

3

DateTime。 ParseExact是你想要的。

需要的實際格式字符串是dd.MM.yy HH:mm:ss.FFFFFFF00 zzz

var dateTest = "15.08.11 17:15:18.084867000 +02:00"; 
var format = "dd.MM.yy HH:mm:ss.FFFFFFF00 zzz"; 
var returnDate = DateTime.ParseExact(dateTest, format, System.Globalization.CultureInfo.InvariantCulture); 

的問題是,秒的小數部分只能是7位,並且需要墊格式字符串用零,以應付它。

存在一個問題,即秒必須必須是00的最後兩位數,否則格式將不起作用,因此如果最後兩位數字不是00,那麼此格式字符串將不起作用爲你。

您需要解析出整個字符串,但不包括秒的最後幾位數字,但保持字符串的其餘部分不變。如果有人想去那麼麻煩,那麼只需手動解析字符串就可以了。

對不起,我不能有更多的幫助。

+0

我需要一個毫秒和時區正確的格式。 –

+0

@Dmitriy Sosunov:我用正確的格式字符串更新了我的答案 –