求助关于时间日期格式
有个计算时间日期格式的程序
static void Main()
{
start:
Console.Write("请按规定的格式输入年月日(2006_7_16): ");
Console.Write("请输入年份 ");
int year = Convert.ToInt32(Console.ReadLine());
int total = 365;
if (year % 400 == 0 || year % 4 == 0 && (year % 100) != 0)
{
total = 366;
}
int y = total;
Console.Write("请输入当前的月份: ");//输入月
int month = Convert.ToInt32(Console.ReadLine());//System.Convert.ToInt32,从输入设备读取32位类型整型数据;
Console.Write ("请输入本月的几号: ");//输入日
int day = Convert.ToInt32(Console.ReadLine());
if ((month > 0) && (month < 13))//判断月份
{
switch (month)
{
case 1:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 3:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 5:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 7:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 8:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 10:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 12:
if ((day > 0) && (day < 32))
{
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 2:
if ((day > 0) && (day < 29))
{
Console.WriteLine("今年是平年,有365天 ");
break;
}
else if ((y == 366) && (day > 0) && (day < 30))
{
Console.WriteLine("今年是闰年,有366天 ");
break;
}
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 4:
if ((day > 0) && (day < 31))
{ break; }
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 6:
if ((day > 0) && (day < 31))
{ break; }
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 9:
if ((day > 0) && (day < 31))
{ break; }
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
case 11:
if ((day > 0) && (day < 31))
{ break; }
else
{
Console.WriteLine("您输入的当前日期无效!请重新输入 ");
goto start;
}
}
DateTime dt = new DateTime(year, month, day);
Console.WriteLine("year"+"是年中的第{0}天! ", dt.DayOfYear - 1);
Console.Read();
}
else
{
Console.WriteLine("您输入的当前月份无效!请重新输入 ");
goto start;
}
}
}
现在想将输入的年月日值一次性输入,并且是yyyy_mm_dd样式的格式该怎么修改
还要在最后计算天数的显示为 (输入的年月日)是(输入的年份)中的第X天。
因该怎么修改。一个很初级的问题,谢谢了