【发布时间】:2021-10-26 13:38:06
【问题描述】:
我正在创建递增的发票编号,如下所示:AABBBB1122。
'A' 和 'B' 绑定到我的代码中的标识符。 但我需要分别为 month 和 year 的数字。 例如:0821(2021 年 8 月)。 我不想以任何方式将它连接到日历。 如果可能的话,我想定义一个开始日期,并从那里递增。
即:0821 必须递增到 0921,1021 、1121、1221 - 在年份也增加之前; 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);
【问题讨论】:
-
澄清什么是问题。因为如果你已经存储了开始日期,或者你有计算这个的函数,你就可以连接起来。
-
为什么不使用
DateTime d = new DateTime(2021, 08, 26);来设置你的日期,然后像d.ToString("MMyy")这样格式化它。 -
如果你想使用月份和年份,你必须在你的类中放入一些
DateTime对象来保存所需的时间点。在您的代码中,您可以编写类似this.PointInTime.ToString("MMyy")的内容