2017-07-20 102 views
-2

我有一个如何计算特定年份中两个日期之间的日期?

START_DATE = 1988年4月1日 END_DATE = 2017年4月30日

我怎么能calcuate特定每年花两天时间之间的区别? 如2000年将有365天,2017年将有120天。

我该怎么做?

+1

'(END_DATE - START_DATE).Days' –

+1

你听说过谷歌的?它可以帮助你找到东西。一个谷歌搜索(使用你的问题)的“C#如何计算两天在特定年份之间的差异”返回[this](https://stackoverflow.com/questions/1607336/calculate-difference-between-two-日期 - 天数)作为第一个链接。而且,令人惊讶的是,它恰好回答了你的问题。 – john

回答

1
// Define two dates. 
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15); 
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30); 
// Calculate the interval between the two dates. 
TimeSpan interval = date2 - date1; 
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString()); 
// Display individual properties of the resulting TimeSpan object. 
Console.WriteLine(" {0,-35} {1,20}", "Value of Days Component:", interval.Days); 
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays); 
Console.WriteLine(" {0,-35} {1,20}", "Value of Hours Component:", interval.Hours); 
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours); 
Console.WriteLine(" {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes); 
Console.WriteLine(" {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes); 
Console.WriteLine(" {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds); 
Console.WriteLine(" {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds); 
Console.WriteLine(" {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds); 
Console.WriteLine(" {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds); 
Console.WriteLine(" {0,-35} {1,20:N0}", "Ticks:", interval.Ticks); 

// the example displays the following output: 
//  8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15 
//   Value of Days Component:        229 
//   Total Number of Days:     229.229340277778 
//   Value of Hours Component:        5 
//   Total Number of Hours:     5501.50416666667 
//   Value of Minutes Component:       30 
//   Total Number of Minutes:      330090.25 
//   Value of Seconds Component:       15 
//   Total Number of Seconds:      19,805,415 
//   Value of Milliseconds Component:      0 
//   Total Number of Milliseconds:    19,805,415,000 
//   Ticks:        198,054,150,000,000 
0
static void Main(string[] args) 
{ 
    DateTime startDate = new DateTime(1988, 4, 1); 
    DateTime endDate = new DateTime(2017, 4, 30); 
    TimeSpan diff = endDate - startDate; 
    Console.WriteLine("Difference in days between two days: " + diff.TotalDays); 

    int year = 2000; 
    int daysInFeb = DateTime.DaysInMonth(year, 2); 
    int daysInYear = DateTime.IsLeapYear(year) ? 366 : 365; 
    Console.WriteLine("Days in February " + year + ": " + daysInFeb); 
    Console.WriteLine("Days in Year " + year + ": " + daysInYear); 

    Console.ReadKey(); 

    // Outputs: 

    // Difference in days between two days: 10621 
    // Days in February 2000: 29 
    // Days in Year 2000: 366 
} 
相关问题