我有一个
Start_Date = 1988-04-01 End_Date = 2017-04-30
如何计算特定年份两天之间的差异? 如2000年将有365天,2017年将有120天。
我该怎么做?
答案 0 :(得分: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
答案 1 :(得分: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
}