C#:根据设定的周期增加发票号

我正在创建递增的发票编号,如下所示:AABBBB1122

'A' 和 'B' 绑定到我的代码中的标识符。但是我需要的数字分别是monthyear。例如:0821 (2021 年 8 月)。我不想以任何方式将它连接到日历。如果可能,我想定义一个开始日期,并从那里增加。

也就是说:0821必须增加到0921102111211221 - 在年份增加之前;0122

我怎样才能做到这一点?

到目前为止我所得到的:

string AA {
    get { return this.IdentifierA.Substring(0, 2);
    set { SetAndNotify(ref this.AA, value); }
}

string BB {
    get { return this.IdentifierB.Substring(0, 4);
    set { SetAndNotify(ref this.BB, value); }
}

string InvoiceNumber {
   get { return String.Concat(AA + BB + /* what goes here? */).ToUpper(); }
   set { SetAndNotify(ref this.InvoiceNumber, value);

回答

听起来像是处理发票编号的一种特殊方式。您是说您希望它基于当前日期,而是以MMYY 样式递增

给定一个典型的自动递增 int KEY,每张发票增加 1,使用:

((KEY % 12).ToString("00")+(KEY/12).ToString("00"))

12*21+8开始 KEY以0821开始。

.. 但根据发票要求,我认为您肯定要问的是:

(DateTime.Now.Month.ToString("00")+DateTime.Now.Year.ToString("00"))
  • 挑剔:只调用一次 DateTime.Now 以避免在边界上得到不同的答案:2021-12-31 + 2022-01-01 = 1222

以上是C#:根据设定的周期增加发票号的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>