【问题标题】:take value of month from dateTime and convert to int?从 dateTime 获取月份的值并转换为 int?
【发布时间】:2013-01-24 16:07:18
【问题描述】:

所以 atm,每个工作站都有一张发票清单,有些工作站会有很多发票,有些则没有。 每个发票列表按升序排序,最近的发票存储在“lastInvoice”中。

以下代码检查最后一张发票上的日期,并将其与本月 -12 进行比较。 如果发票日期为

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-12))
       {
        chosenInvoicesForRetention.Add(workstation);
       }

这一切都很好......但是我想用存储在另一个表中的值代替 DateTime.Now.AddMonths(-12)。

workstation.Number_of_Months

这将返回月数,即 1 到 12 之间

我玩过它 Operator can't be applied to 'int' or system.datetime.

是否可以从 invoiceDate 中提取月份的值,并将其转换为 int,然后进行比较。作为 int 等....我在任何地方都正确吗? 请指教...谢谢

【问题讨论】:

  • 您是否尝试过在DateTime 上使用Month 属性?

标签: c# asp.net datetime int


【解决方案1】:

我不确定我是否正确理解了这个问题,但是;

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-1*workstation.Number_of_Months))

【讨论】:

    【解决方案2】:

    是否可以从 invoiceDate 中提取月份的值,并将其转换为 int,然后进行比较。

    是的,你必须这样做:

    int month_number = lastInvoice.Invoice_Date.Month
    

    【讨论】:

      【解决方案3】:

      不确定我是否理解(再次),但为什么不理解

      if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(0 - workstation.Number_of_Months))
             {
              chosenInvoicesForRetention.Add(workstation);
             }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-24
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 2016-10-04
        • 1970-01-01
        • 2015-08-07
        相关资源
        最近更新 更多