如何从表达式中减去日期

时间:2017-09-28 06:49:32

标签: c# linq

在表达式中我想删除6天。

priceData.EffectiveStartDate= Data.PeriodData;

并从下面的表达式(标记为**)。

var newData = data.Select(a => new IHSData
  {
     PriceSymbol = Convert.ToString(a.PriceId),
     **PeriodData = Convert.ToDateTime(a.ObservationVector.Select(x => x.Period).FirstOrDefault()),**
     StatusID = Convert.ToInt32(a.ObservationVector.Select(x => x.StatusId).FirstOrDefault()),
      Price = Convert.ToDouble(a.ObservationVector.Select(x => x.price).FirstOrDefault()),
      PriceType = MasterData.Where(x => x.Code == a.PriceId.ToString()).Select(s => s.IHSType).FirstOrDefault()
   });

如果我从表达式或DateTime date = Date.AddDays(-6).Date;

做-6

它不起作用。谢谢

1 个答案:

答案 0 :(得分:2)

DateTime中有一个名为AddDays()的方法,它返回一个新的DateTime,它将指定的天数添加到此实例的值中。如果你作为参数负数传递,它将从中减去天数:

PeriodData = Convert.ToDateTime(a.ObservationVector.Select(x => x.Period).FirstOrDefault()).AddDays(-6),

MSDN链接 - > DateTime.AddDays Method