是否可以更改DateTime返回的值?或者至少将其赋给一个变量,然后更改该变量?
internal int hour;
internal int minute;
DateTime time = DateTime.Now;
public int incrementHour(int step)
{
if (step > 0 && hour < 24)
{
//step = step % hour;
hour = (hour + step) % 24;
time.AddHours(hour);
return hour;
}//end of if
else
{
MessageBox.Show("Please enter a positive number.");
return 0;
}//end of else
}//end of incrementHour从外观上看,添加小时并没有真正做任何事情。
发布于 2011-01-29 07:02:22
DateTime的实例是不可变的- AddHours()返回一个反映更改的值的DateTime的新实例-因此您必须将更改的值重新分配给您的时间变量:
time = time.AddHours(hour);AddHours方法的MSDN (也适用于DateTime的所有其他方法):
此方法不会更改此DateTime的值。相反,它返回一个新的DateTime,它的值就是这个操作的结果。返回的DateTime对象的Kind属性与value的Kind属性相同。
发布于 2011-01-29 07:03:46
你所要做的就是
time = time.AddHours(hour)到此为止吧
发布于 2011-01-29 07:04:55
参见documentation of DateTime.AddHours,它不改变参数值,但返回一个新的DateTime实例。尝试:
time = time.AddHours(hour);https://stackoverflow.com/questions/4833870
复制相似问题