- 題名: 時間の比較方法?
- 日時: 2004/09/10 0:10:30
- ID: 6090
- この記事の返信元:
- (なし)
- この記事への返信:
- [6091] Re[1]: 時間の比較方法?2004/09/10 1:29:31
- ツリーを表示
結論から言えば、 DateTimeとその配下のメソッド(と、TimeSpan構造体)を使用する限り、問題ないです。 例) '適当な時間を作って・・・ t1 = DateTime.Parse("2004/09/01 23:59:59", myformat) '適当な時間を作って・・・ t2 = t1.AddMinutes(65).AddSeconds(3) '65分と3秒加算・・・ MsgBox(t1.Subtract(t2).ToString) '元から、その値を引いた結果は、"-01:05:03"が返ってきました。何も問題ないですが? MsgBox(t1.Subtract(t2).TotalSeconds.ToString) 'ついでに、秒で結果表示。 上の例でも、きちんと計算されています。 で、小言みたいでなんか嫌ですが、 「判定が逆になってしまう」というのは、どういう状態でしょうか。 (たまたま言わんとするところは想像できますが、あいまいなのできちんと 記述した方がいいですよ。) また、「と思う」だけではなく、自分なりに試した結果(出力例だけでも)を添えた方が いいと思います。 >「60:60:58から3秒後は00:00:01では」 なく、「02日+13時間+01分+01秒」ではないでしゅか? (そもそも、DateTimeを使用している場合、「60:60:58」という状態はないはずですが。) Format関数に書式HH:mm:ssを与えてStringにした2つの値を使って自前で何か強引に数値 計算していればそのような状態になるかもしれませんが。 せっかく計算メソッドが既存なので、それらを使ったほうがいいです。
「ないでしゅか?」>>「ないでしょうか」。 (指がついて行ってなかったみたいです。) ・・・。(何か微妙にすみません。)
いつもお世話になっています。
時間の比較方法について、どなたか教えてほしいのですが。
現在の時間と例えば、3秒以上経過時したかどうか判定したいのですが
(DateTime.Now.AddSeconds(1)) > StartTime では
60:60:58から3秒後は00:00:01では判定が逆になってしまうと思うのですが
何かよい方法はないでしょうか?