0

我试图找到两个时间之间的时间范围并计算与午夜的时间差。

例如:

StartDate1 : 13/02/2013 21.00
EndDate1:    13/02/2013 22.00.

StartDate2 : 13/02/2013 23.00
EndDate2:    14/02/2013 01.00.

1) am trying to find the time range, it falls in to midnight first ?
2) If yes then how much time difference from Midnight 
    e.g Day1= 2hrs (prior to midnight)
        Day2= 1hr (after midnight).

请问有什么帮助吗?

我在看这个问题,但不确定TimeFrame

4

3 回答 3

2

尝试这个。

 DateTime startTime = DateTime.Parse("13/02/2013 22.00");

 DateTime endTime = DateTime.Parse("14/02/2013 01.00");

 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 );
于 2013-03-05T04:49:02.393 回答
2

要了解两个时间之间是否有午夜,只需检查日期是否不同:

if (startDate1.Date != endDate1.Date) {
  // there is at least one midnight between the times
}

如果您知道日期之间永远不会超过一个午夜,那么endDate1.Date就是那个午夜的时间。您可以使用以下方法获取午夜前后的时间:

TimeSpan before = endDate1.Date - startDate1;
TimeSpan after = endDate1 - endDate1.Date;
于 2013-03-06T01:22:43.417 回答
0

TimeSpan 跨度 = 结束时间 - 开始时间;

Console.Writeline("跨度:"+跨度);

Console.Writeline("秒数:"+span.TotalSeconds);

于 2013-03-05T05:24:14.290 回答