我正在尝试将日期、月份和年份传递给数据时间对象,但是当值小于第 10 个月时要打印的月份有问题。在我的代码中,我有一个初始日期和算术,我计算了清洁月和通知月。如果该月的最后一天是 30 或 31 以及第 2 个月的特定情况,我也会做必须发生的事情。
这是我的代码:
int day = (int)DateTime.Now.Day;
int month = (int)DateTime.Now.Month;
int year = (int)DateTime.Now.Year;
int diaLimpeza, mesLimpeza, anoLimpeza;
int diaNotifica, mesNotifica, anoNotifica;
public void mes6()
{
DateTime dataInicial = new DateTime();
DateTime dataLimpeza = new DateTime();
DateTime dataNotifica = new DateTime();
day = 31;
month = 12;
year = 2019;
mesLimpeza= month + 6;
if (mesLimpeza > 12)
{
mesLimpeza = mesLimpeza - 12;
anoLimpeza = year + 1;
diaLimpeza = day;
}
else
{
mesLimpeza = month + 6;
anoLimpeza = year;
diaLimpeza = day;
}
int soma = diaLimpeza + 2;
diaNotifica = soma;
if (mesLimpeza == 01 || mesLimpeza == 03 || mesLimpeza == 05 || mesLimpeza == 07 || mesLimpeza == 08 || mesLimpeza == 10) //mesLimpeza == 12 excepçao
{
if (diaLimpeza == 30 || diaLimpeza == 31)
{
diaNotifica = diaNotifica - 31;
mesNotifica = mesLimpeza + 1;
anoNotifica = anoLimpeza;
//int a = diaNotifica;
}
else if ((diaLimpeza == 30 || diaLimpeza == 31) && mesLimpeza == 12)
{
diaNotifica = diaNotifica - 31;
mesNotifica = (mesLimpeza + 1) - 12;
anoNotifica = anoLimpeza + 1;
}
else
{
diaNotifica = diaLimpeza + 2;
mesNotifica = mesLimpeza;
anoNotifica = anoLimpeza;
}
}
在最后一行,我试图在文本框中显示日期格式,如 (yyyy-MM-dd)。
我模拟了一个初始日、月和年,当月的结果等于或大于 10 时,一切都很好。
当值较小时,图像上出现此错误:
我注意到月份格式不接受小于 10 且没有零的数字,例如月份“6”,我必须输入“06”以使其格式正确。
我怎么解决这个问题?
我在 visual studio 中使用 C#。
繁华开满天机
函数式编程
Cats萌萌
相关分类