【问题标题】:How can I segregate properties of DateTime?如何隔离 DateTime 的属性?
【发布时间】:2012-03-27 18:15:53
【问题描述】:

我想写:如果 2 个 DateTimes 的差异结果超过 3 小时,那么...... if 语句中的内容发生了。但是我只需要几秒钟或几分钟内的属性,我可以从 DateTime 对象中提取这些属性吗?

  if(diffResult > DateTime.Hour(3))
   {
   }

我还想知道是否可以将 DateTime 划分为句点。假设我想将我的 diffResult(即 2 个 DateTimes 之间的差异)拆分为 3 个周期,或者可能每 3 秒我的计数器就会添加一个。

【问题讨论】:

    标签: c# datetime properties methods hour


    【解决方案1】:

    对于第一部分: 你可以减去两个DateTimes 得到一个TimeSpan 在那里你可以得到各种单位的总和 - 例如:

    if ( (secondTime - firstTime).TotalMinutes > 180.0) ...
    

    或者你可以直接使用TimeSpan

    if (secondTime - firstTime > TimeSpan.FromHours(3)) ...
    

    对于第二部分,您必须自己进行一些计算:

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

    【讨论】:

    • for (var time = firstTime; time
    【解决方案2】:

    您可以使用以下代码进行比较:

      DateTime dt = new DateTime();
                    dt = DateTime.Now;
                    dt.AddHours(3);
                    int h = (int)DateTime.Now.Hour;
                    if (dt.Hour == h )
                       //Do something
                    else
                       //do otherthing
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      TimeSpan time = new TimeSpan(3, 0, 0);

      if (date1.Subtract(date2) &gt; time)

      {
      //YourCode
      }
      

      对于第二个,这篇文章应该很有用:

      http://www.blackwasp.co.uk/TimespanMultiplication.aspx

      【讨论】:

        【解决方案4】:

        您询问的方法返回整数结果。你的问题到底是什么? DateTime.Hour(3) 甚至不会编译。

        我认为您正在寻找 DateTime.Now.AddHours(3.0)

        我应该清楚,这个答案的唯一原因是这个稀疏,是因为作者的问题中的无效代码。由于我不会尝试猜测人们真正想要什么,因此由作者来澄清他到底想要什么。

        他所要做的就是减去两个DateTime 值并将其与TimeSpan 进行比较

        【讨论】:

          猜你喜欢
          • 2021-08-29
          • 1970-01-01
          • 2015-08-24
          • 2014-07-13
          • 2012-12-27
          • 2021-11-09
          • 2015-07-09
          • 1970-01-01
          • 2018-03-17
          相关资源
          最近更新 更多