题目:给定一个格式为YYYY-MM-DD格式的字符串,输出YYYY年的第n天。
例:"2019-01-09" 输出:2019年的第9天。
"2019-02-10" 输出:2019年的第41天。
"2003-03-01" 输出:2019年的第60天。
"2004-03-01" 输出:2019年的第61天。
void DayOfYear(string date)
{
string[] strs = date.Split('-');
int[] monthVal = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (IsLeapYear(int.Parse(strs[0]))) monthVal[1] = 29;
int month = int.Parse(strs[1]);
int res = 0;
for (int i = 1; i < month; i++)
{
res += monthVal[i - 1];
}
res += int.Parse(strs[2]);
Console.WriteLine($"这是{strs[0]}年的第{res}天");
}
bool IsLeapYear(int year)//判断是否闰年
{
if (year % 4 == 0 && year % 100 != 0)//普通闰年
return true;
else if (year % 400 == 0)//世纪闰年
return true;
else
return false;
}