2016-09-18 4 views
0

Я пытаюсь разобрать строку "20160918000500 +0200" до DateTime, содержащую значение смещения "+0200".Преобразование строки с датой и смещением UTC к DateTime

Я пробовал следующее, но это дает исключение DateTime.

DateTime dtDateTime = DateTime.Parse("20160918000500 +0200",new CultureInfo("yyyyMMddHHmmss zzz")); 

Есть ли способ, чтобы преобразовать String точно Datetime с UTC offset value?

+1

Check - http://stackoverflow.com/questions/179940/convert-utc-gmt-time-to-local-time –

ответ

0

Я хотел бы предложить, чтобы попробовать один из ParseExact методов класса DateTime

+1

Было бы лучше проанализировать 'DateTimeOffset' вместо' DateTime', поскольку строка содержит UTF Offset part. –

1

Чтобы сохранить Offset, используйте DateTimeOffset.ParseExact метод:

string str = "20160918000500 +0200"; 
var result = DateTimeOffset.ParseExact(str, "yyyyMMddHHmmss zzz", CultureInfo.InvariantCulture); 
Console.WriteLine(result);