C#如何根据他们的DOB计算某人18岁的时间

时间:2014-09-18 18:56:09

标签: c#

让我们说我需要暂停执照,直到司机年满18岁。我只有他们的DOB。我无法将时间添加到他们的特定DOB,因为这将适用于具有不同DOB的许多驱动程序。这是已经创建的代码行,但这是他们的DOB增加了18年,这不是我想要的。

        data.EndDate = data.Driver.DateOfBirth.GetValueOrDefault().AddYears(18);

1 个答案:

答案 0 :(得分:3)

如果您想获得TimeSpan的剩余时间,可以减去两个DateTime

TimeSpan timeLeft = data.Driver.DateOfBirth.Value.AddYears(18) 
    - DateTime.Now;

此外,我使用Value代替GetValueOrDefault(),因为您可能永远不想使用出生日期的默认值。