如何在DayLightSavingTime期间将UTC日期时间转换为不同时区DateTimeOffSet使用c#

时间:2018-04-03 09:34:22

标签: c# asp.net-mvc datetime timezone datetimeoffset

我从数据库获得了日期和时间(utc时间),我需要转换为cst时区。我尝试了以下代码,但没有转换日期和时间。

DateTimeOffset returnTime = TimeZoneInfo.ConvertTime(time, timeZone);

输入

time = {3/11/2018 3:24:19 AM}

timeZone = {(UTC-06:00) Central Time (US & Canada)}

日间节能已启用

预期输出

returnTime = {3/10/2018 10:24:19 PM}

实际输出

returnTime = {3/11/2018 03:24:19 AM}

请帮助解决这个问题。

2 个答案:

答案 0 :(得分:0)

使用TimeZoneInfo.ConvertTimeFromUtc,我认为你的问题会消失。同时确保输入.Kind的{​​{1}}为“UTC”。

DateTime

答案 1 :(得分:0)

我建议使用Jon Skeets Noda Time library来处理跨时区的日期