无法在c# mvc模型中合并日期和时间
本文关键字:合并 日期 时间 模型 mvc | 更新日期: 2023-09-27 17:54:06
我有一个这样的模型。
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true), Display(Name = "Start Date")]
public DateTime? StartDate { get; set; }
[DataType(DataType.Time)]
[DisplayFormat(DataFormatString = "{0:HH:mm}", ApplyFormatInEditMode = true), Display(Name = "Start Time")]
public DateTime? StartTime { get; set; }
我想把它们组合成一个变量。
我搜索过代码应该是这样的。
newDateTime = date.Date + time.TimeOfDay;
但我试过了
[Display(Name = "Start Time")]
public DateTime? FullStartTime
{
get
{
return StartDate.Date + StartTime.TimeOfDay;
//or return StartDate + StartTime;
}
}
两个都不行。问题在哪里?谢谢。
当您尝试从两个不同的DateTime
创建DateTime
对象时,您必须创建一个新的DateTime
对象并使用其构造函数如下:
newDateTime = new DateTime(date.Date.Year, date.Date.Month,date.Date.Year,time.Hour,time.Minutes,time.Second);
您应该检查StartDate
和StartTime
是否为空(您的属性是可空类型)
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true), Display(Name = "Start Date")]
public DateTime? StartDate { get; set; }
[DataType(DataType.Time)]
[DisplayFormat(DataFormatString = "{0:HH:mm}", ApplyFormatInEditMode = true), Display(Name = "Start Time")]
public DateTime? StartTime { get; set; }
[Display(Name = "Start Time")]
public DateTime? FullStartTime
{
get
{
if(StartDate == null || StartTime == null) return null;
return StartDate.Value.Date + StartTime.Value.TimeOfDay;
//or return StartDate + StartTime;
}
}