我看到了很多重复的帖子但对我来说这是不同的东西。
我有一个Datetime对象并获得时间部分&给那个分配另一个时间。当我要分配时,会引发这些错误。
这里newStartDateGroup是一个DateTime对象 在这里OpenTime是TimeSpan
无法将属性或索引器分配给 - 它是只读的
else if(newStartDateGroup.TimeOfDay < i.OpenTime && newEndDateGroup.TimeOfDay > i.CloseTime) // < >
{
newStartDateGroup.TimeOfDay = i.OpenTime;
答案 0 :(得分:6)
DateTime
struct为immutable,因此您必须创建新值,而不是更改它的值:
newStartDateGroup = newStartDateGroup.Date.Add(i.OpenTime);
答案 1 :(得分:3)
您只能创建新的DateTime
个实例。
根据您显示的代码,您只想设置日期时间 这应该这样做:
newStartDateGroup = DateTime.Today.Add(i.OpenTime);
DateTime.Today
今天是00:00。
答案 2 :(得分:1)
只需手动分配小时,分钟和秒。
DateTime temp = DateTime(newStartDateGroup.Year, newStartDateGroup.Month, newStartDateGroup.Day, i.OpenTime.Hours, i.OpenTime.Minutes, i.OpenTime.Seconds);
newStartDateGroup = temp;