所以atm,每个工作站都有一个发票列表,有些工作站会有很多发票,有些则没有。每个发票列表按升序排序,最新的发票存储在"lastInvoice"中。
下面的代码检查最后一张发票上的日期,将其与本月 -12 进行比较。如果发票日期为 <,则存储在所选的发票保留列表中。
if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-12))
{
chosenInvoicesForRetention.Add(workstation);
}
这一切都很好...但是,我想用存储在另一个表中的值替换它而不是 DateTime.Now.AddMonths(-12)。
workstation.Number_of_Months
这将返回月数,即介于 1 和 12 之间
Iv玩了它运算符不能应用于"int"或system.datetime。
是否可以从发票日期中提取月份的值,并将其转换为整数,然后进行比较。 作为整数等。我接近正确吗?请指教...谢谢你们
我不确定我是否正确理解了这个问题,但是;
if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-1*workstation.Number_of_Months))
是否可以从发票日期中提取月份的值,并将其转换为整数,然后进行比较。
是的,您必须这样做:
int month_number = lastInvoice.Invoice_Date.Month
不确定我是否理解(再次),但为什么不
if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(0 - workstation.Number_of_Months))
{
chosenInvoicesForRetention.Add(workstation);
}