本帖最后由 小郭zaiheima 于 2014-6-27 22:14 编辑
不知道同学们都是用的什么方式,有没有一种方式是用C#最基础的知识编写出来的啊,我用基础的只是编写出来了计算闰年或者平年中的第多少天,现在来分享一下。如果朋友们有其他的方式或者能计算出是星期几来,希望同学们赐教。
int[] months = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; //闰年每个月天数
int[] commonYear = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; //平年每个月天数
int i = 1;
Console.WriteLine("请按yyyy-MM-dd的格式输入日期:");
string date = Console.ReadLine();
//使用Substring截取年份,即前四个数字,并转换成int类型
int year = Convert.ToInt32(date.Substring(0, 4));
int month = Convert.ToInt32(date.Substring(4, 2)); //截取月份
int day = Convert.ToInt32(date.Substring(6, 2)); //截取天数,为当月的第几天
int sum = 0; //定义总天数sum
//计算出是一年中的第几天
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) //闰年进入此程序
{
for (i = 1; i < month; i++)
{
sum = sum + months[i - 1]; //此处为计算日期闰年年份中的第几个月之前月份的总天数
}
sum = sum + day;//此处为计算闰年日期年份中的第几天
Console.WriteLine("此日期为今年的第{0}天", sum);
}
else
{
for (i = 1; i < month; i++)
{
sum = sum + commonYear[i - 1]; //此处为计算日期平年年份中的第几个月之前月份的总天数
}
sum = sum + day; //此处为计算平年日期年份中的第几天
Console.WriteLine("此日期为今年的第{0}天", sum);
}
Console.ReadKey(); |