C# 年月日时间题+Timespan

要判断时间合不合格,闰不闰年啊,然后还有Timespan 类型

--

Console.Write("请输入年:");
int n = int.Parse(Console.ReadLine());
Console.Write("请输入月:");
int y = int.Parse(Console.ReadLine());
Console.Write("请输入日:");
int r = int.Parse(Console.ReadLine());
DateTime d = new DateTime(n, y, r);
string a = d.ToString("yyyy年MM月dd日");
int b = d.DayOfYear;
DayOfWeek c = d.DayOfWeek;
DateTime e = new DateTime(2012, 12, 24);
TimeSpan f = e - d;
int g = f.Days;
if (((y == 2 && ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)) && (r >= 1 && r <= 29)) ||
((y == 2 && (n % 4 != 0 || (n % 100 == 0 && n % 400 != 0))) && (r >= 1 && r <= 28)) ||
((y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) && (r >= 1 && r <= 31)) ||
((y == 4 || y == 6 || y == 9 || y == 11) && (r >= 1 && r <= 30)))
{
Console.Write(a); Console.Write("是此年中的第"); Console.Write(b); Console.Write("天,"); Console.WriteLine(c);
if (g > 0)
{
Console.Write("距离2012年12月24日世界末日还有"); Console.Write(g); Console.WriteLine("天");
}
if (g < 0)
{
Console.Write("距离2012年12月24日世界末日已经过去了"); Console.Write(Math.Abs(g)); Console.WriteLine("天");
}
if (g == 0)
{
Console.Write("您输入的是世界末日!!!");
}
}

这个判断日期太麻烦了,还可以用try catch

string a = Console.ReadLine();
try
{
DateTime b = DateTime.Parse(a);
Console.WriteLine("正确");
}
catch
{
Console.WriteLine("错误");
}

原文地址:https://www.cnblogs.com/m110/p/7772569.html