C#中年、月和日的日期时间差异

J86*_*J86 3 c# datetime

想象一下,我有两个 DateTime 对象,一个代表今天的日期,另一个代表用户提供的出生日期

我想对两个日期之间做一个简单的计算差异并以以下格式输出一个字符串:

17 年 - 2 个月 - 18 天

他们的数字只是例子。我怎样才能在 C# 中实现这一点?

编辑:

是的,我尝试了各种组合,但我只能像这样获得 Years 差异:

DateTime userDate = SuppliedDate;
int userAge = DateTime.Now.Year - userDate.Year;
DateTime today = DateTime.Now;
if (userDate > today.AddYears(-userAge))
{
    userAge--;
}
Age.Text = userAge.ToString() + " years";
Run Code Online (Sandbox Code Playgroud)

谢谢你。

Chr*_*uer 5

只需将 TimeSpan 转换回日期时间:

        var test = DateTime.Now;
        var test2 = DateTime.Now;
        var result = test - test2;
        DateTime resultDate = DateTime.MinValue + result;
Run Code Online (Sandbox Code Playgroud)