使用Get Set修饰符和函数更改C#MVC中的变量值
我想将每个考试日期转换为本地时区(本地时区保存在数据库中)我该怎么做我尝试了以下方法使用Get Set修饰符和函数更改C#MVC中的变量值,c#,C#,我想将每个考试日期转换为本地时区(本地时区保存在数据库中)我该怎么做我尝试了以下方法 public class ExaminationModel { [DataMember] public int ExaminationId { get; set; } [DataMember] public string ExaminationName { get; set; } [DataMember]
public class ExaminationModel
{
[DataMember]
public int ExaminationId { get; set; }
[DataMember]
public string ExaminationName { get; set; }
[DataMember]
public DateTime ExaminationDate { get ; set; }
}
我有一个stcakoverflowexpection我怎么能这么做我错过了什么?感谢您的帮助?您收到了错误,因为您正在递归调用ExaminationalDate属性。您可以使用私有变量,如下所示:
[DataMember]
public DateTime ExaminationDate
{
get { return ConvertToLocalDateTime(); }
set { }
}
public DateTime ConvertToLocalDateTime()
{
string timezone = System.Web.HttpContext.Current.Session["timezone"].ToString();
TimeZoneInfo infotime = TimeZoneInfo.FindSystemTimeZoneById(timezone);
DateTime thisDate = TimeZoneInfo.ConvertTimeFromUtc(ExaminationDate, infotime);
return thisDate;
}
private DateTime examinationDate;
public DateTime ExaminationDate
{
get { return ConvertToLocalDateTime(examinationDate); }
set { examinationDate = value; }
}
public DateTime ConvertToLocalDateTime(DateTime examinationDate)
{
string timezone = TimeZone.CurrentTimeZone.StandardName;
TimeZoneInfo infotime = TimeZoneInfo.FindSystemTimeZoneById(timezone);
DateTime thisDate = TimeZoneInfo.ConvertTimeFromUtc(examinationDate, infotime);
return thisDate;
}