0

私は書きたい: 2 つの DateTimes の差の結果が 3 時間よりも長い場合.... if ステートメントの内容が発生します。しかし、必要なのは秒単位または分単位のプロパティだけです。それを DateTime オブジェクトから抽出できますか?

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

また、DateTime を期間で分割できるかどうかも知りたいです。diffResult (2 つの DateTime の差) を 3 つの期間に分割するか、3 秒ごとにカウンターに 1 つ追加するとします。

4

4 に答える 4

7

最初の部分の場合:2を引くDateTimeと、TimeSpanそこに到達できます。たとえば、次のように、さまざまな単位の合計を取得できます。

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

TimeSpanまたは、直接使用することもできます。

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

2番目の部分では、自分で計算を行う必要があります。

var diff = secondTime - firstTime;
var period = TimeSpan.FromSeconds(diff.TotalSeconds / 3.0);
for (var time = firstTime; time < secondTime; time += period)
{ /* do your stuff */ }
于 2012-03-27T18:20:08.383 に答える
1

次のコードを使用して比較できます。

  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
于 2012-03-27T18:33:25.650 に答える
0

あなたはこれを行うことができます:

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

if (date1.Subtract(date2) > time)

{
//YourCode
}

2 つ目については、次の記事が役立ちます。

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

于 2012-03-27T18:27:24.427 に答える
-1

あなたが尋ねるメソッドは整数の結果を返します。あなたの質問は正確には何ですか?DateTime.Hour(3)コンパイルすらしません。

DateTime.Now.AddHours(3.0)をお探しだと思います

私は明確にする必要があります、この答えがこのまばらである唯一の理由は、作者の質問の無効なコードのためです。私は人々が実際に何を望んでいるのかを推測しようとはしないので、彼が何を望んでいるのかを正確に明確にするのは作者次第です。

DateTime彼がしなければならないのは、2つの値を減算し、それをTimeSpan

于 2012-03-27T18:23:45.687 に答える