DateTime.Now
: 精度と精度最近の単体テストでは、DateTime.UtcNow
の予期しない動作が明らかになりました。 ミリ秒レベルの粒度の期待に反して、短い間隔内での連続呼び出しでは同じ結果が得られました。これにより、DateTime.Now
の精度に関して疑問が生じます。 Stopwatch
は優れたタイミング精度を提供しますが、DateTime.Now
の制限を理解することが重要です。 その精度は公式に文書化されていますか (例: 50ms)?ほとんどの CPU クロックよりも精度が低いのはなぜですか?
違い: 精度と精度
正確さと精度を区別することが重要です。正確な時計は、特定の解像度で時差を一貫して報告します。正確な時計は外部の時間ソースと一貫して調整されます。
DateTime.Now
は、現在の時刻の表示、スケジュール設定、および日付の差の計算など、汎用の日付と時刻の表現を提供します。 高精度の計時はその主な機能ではありません。 ほとんどのコンピューターは正確な外部時刻参照にアクセスできないため、DateTime.Now
では高精度と精度を同時に達成することができません。
要約
DateTime.Now
の精度が低いため、誤った精度が報告されるのを防ぎます。 その設計では、一般的なシステム制約内での正確な日付と時刻の表現が優先されます。正確なタイミングを確保するには、Stopwatch
が引き続き推奨されます。
以上がDateTime.Now の精度は公式に文書化されていますか? また、制限があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。