【发布时间】:2014-05-12 00:48:13
【问题描述】:
我要提前说,我是编程初学者,这个问题似乎无关紧要。但是,我真的很想知道在这种情况下如何进行。
这是我的代码:
string startdate;
Console.WriteLine("Please, type in your birthdate (dd-mm-yyyy)");
startdate = Console.ReadLine();
DateTime bday = DateTime.Parse(startdate);
// prob 1.
DateTime now = DateTime.Now;
TimeSpan ts1 = now.Subtract(bday);
DateTime dt = new DateTime(0001, 01, 01);
TimeSpan ts2 = new TimeSpan(365, 0, 0, 0);
//prob2.
TimeSpan ts3 = new TimeSpan(3650, 0, 0, 0);
dt = dt + ts1 - ts2;
Console.WriteLine("Your current age is:{0}", dt.ToString("yy"));
dt = dt + ts3;
Console.WriteLine("Your Age after 10 years will be:{0}", dt.ToString("yy"));
问题 1:我想创建一个循环,如果控制台中提供的信息与 dd-mm-yyyy 不同,则再次重复整个过程。
问题2:我想看看下一年(从当前一年)是否是闰年,从而知道ts2应该是365天还是366天。
提前谢谢你。
【问题讨论】:
-
并非所有人都可以访问 pastebin,您也可以发布代码吗?
-
我不是 C# 程序员,但更标准的做法是使用可能在
DateTime类上可用的 addYears() 方法。 -
@Bathsheba 确实如此,除了它被称为
AddYears以匹配 .NET 的正常大写规则。 -
DateTime.IsLeapYear(year) ?