InvoiceDate < INvoiceDate.Addmonths(-)

本文关键字:Addmonths INvoiceDate lt InvoiceDate | 更新日期: 2023-09-27 17:55:57

我有一个声明...

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-12))

这将检查发票上的日期,如果它少于 12 个月前,即 2012 年 1 月之前的任何内容,请继续使用代码。

所以而不是日期时间.现在.添加月份(-12))我想说从发票上的日期算起6个月

我试过了...

if (lastInvoice.Invoice_Date < lastInvoice.Invoice_Date.AddMonths(-0-worksite.Number_of_Months))

也尝试没有 (-0) 并且只是将其作为 (0),但需要 - 作为表达式。无论如何,它没有返回它应该是什么。我做错了什么?

InvoiceDate < INvoiceDate.Addmonths(-)

lastInvoice.Invoice_Date永远不会小于lastInvoice.Invoice_Date.AddMonths(-anything)

这应该适合您:

if (lastInvoice.Invoice_Date < DateTime.Now.AddMonths(-worksite.Number_of_Months))

如果这不能给你正确的答案,我会使用调试器来确认那个工作地点。Number_of_Months实际上是您所期望的。

if (lastInvoice.Invoice_Date < lastInvoice.Invoice_Date.AddMonths(-0-worksite.Number_of_Months))

您正在将Invoice_Date与自身进行比较。 您可能想与DateTime.Now进行比较?

确保返回类型worksite.Number_of_Months整数, 否则使用-Convert.ToInt32(worksite.Number_of_Months),您应该将其与DateTime.Now()进行比较

根据我上面评论的答案,我认为您想要:

if (DateTime.Now > lastInvoice.Invoice_Date.AddMonths(6))

或者更准确地说:

if (DateTime.Now > lastInvoice.Invoice_Date.AddMonths(worksite.Number_of_Months))