2015-04-15 5 views
0

У меня есть две даты формы:Дата месяц и год расчет

Start Date: 2007-03-24 
End Date: 2009-06-26 

Теперь мне нужно найти разницу между этими двумя в следующем виде:

2 years, 3 months and 2 days 

Как я могу это сделать в форме C# windows?

ответ

0

Вы должны использовать TimeSpan, чтобы получить разницу ..

class Program 
    { 
     static void Main(string[] args) 
     { 

      string StartDate = "2007-03-24"; 
      string EndDate = "2009-06-26"; 

      System.DateTime firstDate = DateTime.ParseExact(StartDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); 
      System.DateTime secondDate = DateTime.ParseExact(EndDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); 

      System.TimeSpan diff = secondDate.Subtract(firstDate); 
      var totalDays = (diff).TotalDays; 
      var totalYears = Math.Truncate(totalDays/365); 
      var totalMonths = Math.Truncate((totalDays % 365)/30); 
      var remainingDays = Math.Truncate((totalDays % 365) % 30); 
      Console.WriteLine("Estimated duration is {0} year(s), {1} month(s) and {2} day(s)", totalYears, totalMonths, remainingDays); 
      Console.ReadLine(); 

     } 

    } 
-1

.net уже обеспечивают TimeSpan класс, чтобы показать различия между двумя DateTime value.some свойства TimeSpan класса шоу лет, месяц и день интервал отдельно

Смежные вопросы