私はDateTimeOffsetを持っています:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO);
// result => "2015/1/15 17:37:00 -05:00"
DateTimeに変換し、このオフセット"-0500"を結果のDateTimeに追加する方法
//望ましい結果=> "2015/1/15 22:37:"
使用する - DateTimeOffset.UtcDateTime
:
DateTime utc = myDTO.UtcDateTime; // 01/15/2015 22:37:00
UTC時間を使用する場合、時間にオフセットを追加する必要はありません。あなたの例によれば、あなたはUTC時間を参照しています。つまり、これはDateTimeOffset.UtcDateTime
私がここで説明したように:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO); //Will print 1/15/2015 17:37:00 -5:00
//Expected result would need to be 1/15/2015 22:37:00 (Which is UTC time)
DateTime utc = myDTO.UtcDateTime; //Yields another DateTime without the offset.
Console.WriteLine(utc); //Will print 1/15/2015 22:37:00 like asked