代码之家  ›  专栏  ›  技术社区  ›  user

两个日期之间的差异?

  •  7
  • user  · 技术社区  · 16 年前

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

    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小时的时间。有没有办法让它这样做?非常感谢。

    4 回复  |  直到 16 年前
        1
  •  13
  •   LorenVS    16 年前
    int days = (int)Math.Ceiling(diff.TotalDays);
    
        2
  •  1
  •   Espen Medbø    16 年前

    这个问题相当哲学化;如果圣诞节是明天,你认为是1天,还是0天。如果你把明天算进去,答案是0。

        3
  •  1
  •   stovroz    16 年前

    DateTime.Now
    

    与:

    DateTime.Today
    

        4
  •  0
  •   olleh    12 年前

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

            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);