如何隔离DateTime的属性?

Giv*_*Pie 0 c# methods datetime properties hour

我想写一下:如果2个DateTimes的差异结果超过3个小时,那么if语句中的东西就会发生.但我只需要几秒或几分钟的属性,我可以从DateTime对象中提取它吗?

  if(diffResult > DateTime.Hour(3))
   {
   }
Run Code Online (Sandbox Code Playgroud)

我还想知道是否可以按期间划分DateTime.假设我想将我的diffResult(这是两个DateTimes之间的差异)拆分为3个时段,或者可能每3秒将我的计数器添加到其中.

Car*_*ten 7

对于第一部分:你可以减去两个DateTimes来获得一个TimeSpan你可以获得各种单位的总数 - 例如:

if ( (secondTime - firstTime).TotalMinutes > 180.0) ...
Run Code Online (Sandbox Code Playgroud)

或者你可以TimeSpan直接使用:

if (secondTime - firstTime > TimeSpan.FromHours(3)) ...
Run Code Online (Sandbox Code Playgroud)

对于第二部分,你必须自己做一些计算:

var diff = secondTime - firstTime;
var period = TimeSpan.FromSeconds(diff.TotalSeconds / 3.0);
for (var time = firstTime; time < secondTime; time += period)
{ /* do your stuff */ }
Run Code Online (Sandbox Code Playgroud)