Asp.net mvc ASP.NET MVC-在ViewModel中连接日期
我正在从事ASP.NETMVC5中的一个项目。我有一个模型Asp.net mvc ASP.NET MVC-在ViewModel中连接日期,asp.net-mvc,Asp.net Mvc,我正在从事ASP.NETMVC5中的一个项目。我有一个模型 public class AcademicYearListViewModel { public Guid Id { get; set; } [Display(Name = "Academic Year")] public int StartYear { get { return this.StartDate.Year; } } public int EndY
public class AcademicYearListViewModel
{
public Guid Id { get; set; }
[Display(Name = "Academic Year")]
public int StartYear
{
get { return this.StartDate.Year; }
}
public int EndYear
{
get { return this.EndDate.Year; }
}
[Display(Name = "Start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime StartDate { get; set; }
[Display(Name = "End date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime EndDate { get; set; }
[Display(Name = "Active")]
public bool IsActive { get; set; }
}
在ViewModel中,我想从StartDate和EndDate中提取年份。然后连接结果并用反斜杠将它们分开。结果应该是字符串,如下所示:2008/2009 您可以添加另一个只读属性,这样可以完成此任务
[Display(Name = "End date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime EndDate { get; set; }
[Display(Name = "Start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime StartDate { get; set; }
[Display(Name = "concanate")]
public string dateTime { get {
return StartDate.Year + "/" + EndDate.Year;
} }
您可以创建一个getter-only属性,并使用字符串连接对其进行赋值,如下示例所示: 1)使用标准连接
public string ConcatDate
{
get
{
return StartDate.Year + "/" + EndDate.Year;
}
}
public string ConcatDate
{
get
{
return StartYear + "/" + EndYear;
}
}
2)使用string.Format()
public string ConcatDate
{
get
{
return string.Format("{0}/{1}", StartDate.Year, EndDate.Year);
}
}
3)使用字符串插值(C#6+)
演示示例:
public string ConcatDate
{
get
{
return $"{StartYear}/{EndYear}";
}
}