c#ConvertFromUtc方法-获取错误

c#ConvertFromUtc方法-获取错误,c#,datetime-format,C#,Datetime Format,我有以下代码: protected void Page_Load(object sender, EventArgs e) { DateTime dt = ConvertFromUtc(DateTime.Now); } public DateTime ConvertFromUtc(DateTime dt) { var tz = TimeZoneInfo.FindSystemTimeZoneById(Session["Timezone"].ToString());

我有以下代码:

protected void Page_Load(object sender, EventArgs e)
{
    DateTime dt = ConvertFromUtc(DateTime.Now);
}

public DateTime ConvertFromUtc(DateTime dt)
{
    var tz = TimeZoneInfo.FindSystemTimeZoneById(Session["Timezone"].ToString());           
    return TimeZoneInfo.ConvertTimeFromUtc(dt, tz);
}
我得到以下信息:

无法完成转换,因为提供的DateTime没有正确设置Kind属性。例如,当 Kind属性为DateTimeKind.Local,源时区必须为 TimeZoneInfo.Local。参数名称:sourceTimeZone

我试图添加以下内容,但没有帮助:

    DateTime dateTimeToConvert = new DateTime(dt, DateTimeKind.Unspecified);

使用
DateTime.UtcNow
而不是
DateTime。现在

该代码没有意义。如果需要当前本地时间,请获取
DateTime.Now
。如果需要当前UTC时间,请获取
DateTime.UtcNow
。但是从UTC转换本地时间是。。。无意义的您之所以会出现错误,是因为
DateTime。现在
不是UTC时间。另外,请查看DateTime对象的ToUniversalTime()和ToLocalTime()函数。为避免您遇到麻烦,请向.NET设计师购买雪茄。我正在尝试从UTC日期开始,并尝试获取本地日期。