从dateTime获取月份值并转换为int?

时间:2013-01-24 16:07:18

标签: c# asp.net datetime int

所以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等....我在哪里接近正确? 请指教......谢谢你

3 个答案:

答案 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);
       }