2015-09-03 97 views
-1

我有一個文本框裏面這個值:字符串轉換爲帶時區的日期時間

var date = "2015-09-03" + TimeZoneInfo.Local.BaseUtcOffset 

我怎樣才能爲DATETIME它保存到數據庫中該值

2015-09-03+07:00 // with time zone offset information ,here the value can change by zone 

回答

5

您不能保存這作爲DateTime。 A DateTime沒有任何部分可以保持UTC抵消。

我將它解析到DateTimeOffset,而不是(這是更好一點),並將其保存在數據庫中的一個datetimetime類型的列.DateTime.Offset性能。

string s = "2015-09-03+07:00"; 
DateTimeOffset dto; 
if (DateTimeOffset.TryParseExact(s, "yyyy-MM-ddK", CultureInfo.InvariantCulture, 
           DateTimeStyles.None, out dto)) 
{ 
    Console.WriteLine(dto); 
} 

兩個DateTimeDateTimeOffset是時區意識。這就是爲什麼;

+0

親愛Soner格尼爾thanksa很多的提示和明確的解釋,這是行之有效的。 – JayJay

相關問題