我正在开发一个简单的程序,用于计算会员的年龄,并根据年龄应用正确的会员费。
public static DateTime DateTime()
{
DateTime birth = new System.DateTime(1991, 9, 20);
DateTime today = new System.DateTime(2017, 1, 22);
TimeSpan age = today - birth;
Console.WriteLine(age);
return birth;
}
以下是我使用的代码,我的返回值为
9256.00:00:00
如何将其解析为更易读的yyyy,mm,dd格式?
答案 0 :(得分:0)
正如Jon Skeet所说:
TimeSpan没有明智的概念"年"因为它取决于 起点和终点。
为什么不试试他的Noda Time?
您可以手动下载here
您还可以除以365.25(一年中的平均天数),并获得整数
Convert.ToInt32(age.Days / 365.25);
答案 1 :(得分:0)
使用nodatime
var ld1 = new LocalDate(1991, 9, 20);
var ld2 = new LocalDate(2017, 1, 22);
var period = Period.Between(ld1, ld2);
Debug.WriteLine(period.Years);
Debug.WriteLine(period.Months);
Debug.WriteLine(period.Days);