将 DateTimeOffset 转换为 DateTime 并为此 DateTime 添加偏移量
Convert DateTimeOffset to DateTime and add offset to this DateTime
我有 DateTimeOffset:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO);
结果 => "1/15/2015 17:37:00 -05:00"
如何转换为 DateTime 并在结果 DateTime
中添加此偏移量 "-0500"
期望的结果 => "1/15/2015 22:37:00"
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
我有 DateTimeOffset:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO);
结果 => "1/15/2015 17:37:00 -05:00"
如何转换为 DateTime 并在结果 DateTime
中添加此偏移量 "-0500"期望的结果 => "1/15/2015 22:37:00"
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