- 題名: 時間の比較方法?
- 日時: 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では判定が逆になってしまうと思うのですが
何かよい方法はないでしょうか?