我有一个 int 月(例如 84 年),我需要计算出等于多少年,因此使用 84 = 7 年
我需要遍历初始数字并查看其中有多少整年并打印结果
例子:
int count = 84;
for (int i = 12; i <= count; i++)
{
years = i;
}
这当然行不通,它会产生“84 年”,而我应该产生 7 年。我还需要在年份计算后获取剩余的月份,因此如果初始数字为 85,例如,它将导致 7 年 1 个月。
使用循环执行此操作如下所示:
int years = 0;
while (count >= 12) {
count -= 12;
years++;
}
但是,您可以在不循环的情况下执行相同的操作:
int years = count / 12;
count %= 12;
尝试这个:
DateTime t = new DateTime();
t = t.AddMonths(84);
int year = t.Year; // year = 8
int month = t.Month; // month = 1
当然,您只需要基本的数学运算:
int count = 84;
int years = (int)(count / 12);
int months = count % 12;
int years = count / 12;
int remainingMonths = count % 12;
感谢所有给出答案的人:D 非常感谢
我最终让它像这样工作
int employmentInMonthsAmount = this.MaxEmploymentHistoryInMonths;
var intcounter = 0;
int years = 0;
for (var i = 0; i < employmentInMonthsAmount; i++)
{
if (intcounter >= 12)
{
years++;
intcounter = 0;
}
intcounter++;
}
var monthsleft = intcounter;