所以atm,每个workStation都有一个发票清单,有些工作站会有很多发票,有些则没有。 每个发票清单按升序排序,最新发票存储在“lastInvoice”中。
以下代码检查最后一张发票上的日期,将其与本月比较为-12。 如果发票日期是< ,它存储在selectedInvoicesForRetention列表中。
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。
是否可以从invoiceDate中提取月份值,并将其转换为int,然后进行比较。作为int等....我在哪里接近正确? 请指教......谢谢你
答案 0 :(得分:1)
我不确定我是否理解这个问题但是;
if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-1*workstation.Number_of_Months))
答案 1 :(得分:1)
是否可以从invoiceDate中提取月份值,并将其转换为int,然后进行比较。
是的,你必须这样做:
int month_number = lastInvoice.Invoice_Date.Month
答案 2 :(得分:1)
我不确定(再次),但为什么不
if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(0 - workstation.Number_of_Months))
{
chosenInvoicesForRetention.Add(workstation);
}