繁体   English   中英

C# - 两个日期之间的差异?

[英]C# - Difference between two dates?

我想计算两个日期之间的差异。 这就是我目前使用的:

int currentyear = DateTime.Now.Year;

DateTime now = DateTime.Now;
DateTime then = new DateTime(currentyear, 12, 26);
TimeSpan diff = now - then;
int days = diff.Days;
label1.Text = days.ToString() + " Days Until Christmas";

一切正常,除了休息一天。 我假设这是因为它不计算一整天不到24小时。 有没有办法让它这样做? 谢谢。

int days = (int)Math.Ceiling(diff.TotalDays);

问题是相当哲学的; 如果明天是圣诞节,你会认为它还剩1天,或者还剩0天。 如果您将明天放入计算中,答案将为0。

如果你更换你的问题就会消失:

DateTime.Now

有:

DateTime.Today

因为你的差异计算将在整天工作。

我通常使用以下代码来获取需要输出的单元的预期输出:

        DateTime[] dd = new DateTime[] { new DateTime(2014, 01, 10, 10, 15, 01),new DateTime(2014, 01, 10, 10, 10, 10) };

        int x = Convert.ToInt32((dd[0] - dd[1]).TotalMinutes);

        String unit = "days";

        if (x / 60 == 0)
        {
            unit = "minutes";
        }

        else if (x / 60 / 24 == 0)
        {
            unit = "hours";
            x = x / 60;
        }

        else
        {
            x = x / (60 * 24);
        }

        Console.WriteLine(x + " " + unit);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM