如何从另一个日期时间中减去日期时间?

时间:2011-03-03 05:26:43

标签: c# .net

如何从另一个DateTime值中减去两个DateTime值并将结果保存为double?

7 个答案:

答案 0 :(得分:25)

在.NET中,如果从另一个中减去一个DateTime对象,则会得到一个TimeSpan对象。然后,您可以使用该Ticks对象上的TimeSpan属性来获取两个DateTime对象之间的刻度数。但是,刻度线将由Long表示,而不是Double

DateTime date1;
DateTime date2;
Long diffTicks = (date2 - date1).Ticks;

TimeSpan对象上还有其他一些有趣的属性,例如TotalMillisecondsTotalMinutes以及可以帮助你的东西,可能更适合你。

答案 1 :(得分:14)

DateTime startTime = DateTime.Now; 
DateTime endTime = DateTime.Now.AddSeconds( 75 );  
TimeSpan span = endTime.Subtract ( startTime ); 
Console.WriteLine( "Time Difference (seconds): " + span.Seconds ); 
Console.WriteLine( "Time Difference (minutes): " + span.Minutes ); 
Console.WriteLine( "Time Difference (hours): " + span.Hours ); 
Console.WriteLine( "Time Difference (days): " + span.Days );

答案 2 :(得分:1)

我认为这就是你所需要的。

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.UtcNow;

var result = d1 - d2;

double dResult = result.Ticks;

答案 3 :(得分:0)

你应该试试这个。

DateTime prevDate = DateTime.Parse("25-Feb-2011 12:30");
double subDouble = DateTime.Now.Ticks - prevDate.Ticks;

答案 4 :(得分:0)

使用将返回TimeSpan的DateTime.Subtract,然后使用double类型的结果的TotalSeconds属性。

答案 5 :(得分:0)

我不确定你想要存储什么 如果你需要双重

  double difference = date2.ToOADate() - date1.ToOADate();

答案 6 :(得分:0)

var Date1 = new DateTime(2018, 12, 15);
var Date2 = new DateTime(2019, 1, 1);
TimeSpan result1 = Date2.Subtract(Date1);
Console.WriteLine(result1);

//To calculate difference between two dates use TotalDays() method
double result2 = Date2.Subtract(Date1).TotalDays;
Console.WriteLine(result2);

//Output:
17.00:00:00
17

注意:

  • Date2应该大于Date1,否则该方法将返回负值
  • Subtract()方法返回类型为 TimeSpan 的值,而TotalDays()方法返回类型为 double
  • 的值