C# Starttime值不正确,根据时区将UTC时间添加到后端字段上

C# Starttime值不正确,根据时区将UTC时间添加到后端字段上,c#,asp.net,asp.net-mvc-4,c#-4.0,razor,C#,Asp.net,Asp.net Mvc 4,C# 4.0,Razor,在下面视图部分的实际代码中,我得到的FormattedStartTime值比它应该的值至少多4个小时。比如,如果实际值是下午3点,那么它显示的是19:00而不是15:00。在后端,字段值为下午3点,而不是在前端视图上显示15:00,而是显示19:00 我认为它首先根据时区将后端字段值转换为UTC时间,然后在前端显示该UTC时间。如何解决此问题?? 如何根据我的时区将任何以UTC为单位的前端时间转换为根据我的时区的实际值??我的时区是EST 它如何能普遍工作??人们可以坐在任何时区 调试后,代码开

在下面视图部分的实际代码中,我得到的FormattedStartTime值比它应该的值至少多4个小时。比如,如果实际值是下午3点,那么它显示的是19:00而不是15:00。在后端,字段值为下午3点,而不是在前端视图上显示15:00,而是显示19:00

我认为它首先根据时区将后端字段值转换为UTC时间,然后在前端显示该UTC时间。如何解决此问题?? 如何根据我的时区将任何以UTC为单位的前端时间转换为根据我的时区的实际值??我的时区是EST

它如何能普遍工作??人们可以坐在任何时区

调试后,代码开始日期为2017年4月13日下午7:00:00,FormattedStartTime为19:00

模型类:

public DateTime? StartDate { get; set; }

public string FormattedStartTime => StartDate?.ToString("HH:mm");

public bool HideTimestamp { get; set; }
Razor视图:

if (!Model.HideTimestamp)
{
<span>@Model.FormattedStartDate @Model.FormattedStartTime</span>
}
if(!Model.HideTimestamp)
{
@Model.FormattedStartDate@Model.FormattedStartTime
}

7:00pm是19:00。实际答案是15:00(下午3点),而不是19:00。我得到的时间(19:00)是选择的当地时区时间(EST是15:00)+来自EST时区的UTC时间(4小时以上),加起来就是19:00。我怎样才能摆脱UTC时间?你需要回到1879年,阻止桑福德·弗莱明爵士离开。