DateTime.Now の精度: 詳細を見る
単体テスト中に、DateTime.UtcNow
で予期しない動作が観察される場合があります。つまり、繰り返し呼び出すと長時間にわたって同じ値が返されます。これは、DateTime.Now
の精度の限界を浮き彫りにします。
精度と精度: 主な違い
精度と精度の違いを理解することが重要です。時計は正確である (測定値が一貫している) が、不正確である (時間が不正確である) 場合もあれば、その逆の場合もあります。たとえば、停止した時計は 1 日に 2 回は完全に正確ですが、精度はゼロです。 一貫して 1 分遅い時計は、分単位で正確ですが、不正確です。
DateTime.Now の精度の限界
DateTime.Now
は、ほとんどのシステムには信頼性の高い高精度の時刻源がないため、マイクロ秒の精度を保証できません。 小数点以下 1 桁または 2 桁以上を表示すると、これらの桁は実際の時間解像度を表さないため、誤解を招く可能性があります。
DateTime の使用目的
DateTime
は主に、現在時刻の表示、時差の計算 (イベントまでの日数など)、および同様の操作などの一般的なタスクの日付と時刻を表すのに役立ちます。高精度のタイミング測定用に設計されていません。
作業に適したツールの選択
「今何時ですか?」という質問そして「どれくらいかかりましたか?」さまざまなツールが必要です。 DateTime
は最初の質問に答えますが、Stopwatch
は 2 番目の質問に最適です。間違ったツールを使用すると、不正確な結果や誤解を招く結果が生じます。
結論として、DateTime.Now
は、意図したアプリケーションに適したレベルの精度を提供します。正確なタイミングを得るには、代わりに Stopwatch
クラスを使用してください。
以上がDateTime.Now が期待どおりに正確ではないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。