我有以下EffectiveDay
要将日期时间更改为午夜。
public DateTime EffectiveDate { get; set; }
在屏幕截图中,它显示了02/28/2018 5:00:00 AM。
我想将其更改为02/28/2018 12:00:00 AM(午夜)
我尝试了以下方法,但没有用
ClassRoom.WorkOrders.Select(w => w.EffectiveDate).ToList().ForEach(s => s = s.Date);
我也尝试了以下方法,但没有用。
ClassRoom.WorkOrders.Select(w => w.EffectiveDate).ToList().ForEach(s => s = GetDateZeroTime(s.Date));
public static DateTime GetDateZeroTime(DateTime date)
{
return new DateTime(date.Year, date.Month, date.Day, 0, 0, 0);
}
最佳答案
在ForEach
之后对ToList
进行赋值将无济于事,因为您正在设置s
,该参数在每次迭代后都会被丢弃。
使用普通的foreach
循环进行分配:
foreach (var w in ClassRoom.WorkOrders) {
w.EffectiveDate = w.EffectiveDate.Date;
// w.EffectiveDate = GetDateZeroTime(w.EffectiveDate); would also work
}