.NET Framework类库提供了TimeSpan类,这个类提供了完成这一目的的方法.在TimeSpan类中有一个Subtract方法,通过调用这个方法,将会返回一个TimeSpan控件对象,这个对象包含了天、分、秒等信息,这些信息就是我们要求的日期差异!
我简单做了一个控制台应用程序,大家可以执行看下效果,完整代码及其结果如下:
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
// 起始日期2005年12月1日凌晨4点30分45秒11微妙
DateTime startDate = new DateTime(2005,12, 1, 4, 30, 45, 11);
// 终止日期2005年12月12日凌晨4点30分45秒12微妙
DateTime endDate = new DateTime(2005, 12, 12, 4, 30, 45, 12);
TimeSpan diffDate = endDate.Subtract ( startDate );
Console.WriteLine( "Time Difference: ");
Console.WriteLine(diffDate.Days.ToString() + " Days");
Console.WriteLine(diffDate.Hours.ToString() + " Hours" );
Console.WriteLine(diffDate.Minutes.ToString() + " Minutes");
Console.WriteLine(diffDate.Seconds.ToString() + " Seconds ");
Console.WriteLine(diffDate.Milliseconds.ToString() + " Milliseconds ");
Console.ReadLine();
}
}
}
//比较结果:
//Time Difference:
//11 Days
//0 Hours
//0 Minutes
//0 Seconds
//1 Milliseconds
我简单做了一个控制台应用程序,大家可以执行看下效果,完整代码及其结果如下:
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
// 起始日期2005年12月1日凌晨4点30分45秒11微妙
DateTime startDate = new DateTime(2005,12, 1, 4, 30, 45, 11);
// 终止日期2005年12月12日凌晨4点30分45秒12微妙
DateTime endDate = new DateTime(2005, 12, 12, 4, 30, 45, 12);
TimeSpan diffDate = endDate.Subtract ( startDate );
Console.WriteLine( "Time Difference: ");
Console.WriteLine(diffDate.Days.ToString() + " Days");
Console.WriteLine(diffDate.Hours.ToString() + " Hours" );
Console.WriteLine(diffDate.Minutes.ToString() + " Minutes");
Console.WriteLine(diffDate.Seconds.ToString() + " Seconds ");
Console.WriteLine(diffDate.Milliseconds.ToString() + " Milliseconds ");
Console.ReadLine();
}
}
}
//比较结果:
//Time Difference:
//11 Days
//0 Hours
//0 Minutes
//0 Seconds
//1 Milliseconds