11

Data.Time.Clockを提供する理由DiffTime は何ですか?NominalDiffTime

現在、私は両方の必要性を見ていません。

また、 forNominalDiffTimeがあるのになぜ for がないのかわかりません。diffUTCTimeDiffTime

つまり、互いに「対称」のように見えますが、実際にはそうDiffTimeではありません。NominalDiffTime

おそらく要約すると、これらの代数データ型の違いは何ですか?

4

1 に答える 1

11

NominalDiffTimeはうるう秒を無視しdiffUTCTime、23:00 UTC と翌日の 01:00 UTC の間は、秒を追加せずに常に 2 時間であることを確認できます。

の結果はDiffTime、うるう秒などの他の要因によって変更される可能性があります。これはストップウォッチと同じように測定されます。何らかの理由で 23:00 UTC と 01:00 UTC の間が 2 時間でない場合、このタイプはそれを表示します。

実際には、それらに違いはありませんでした。

編集:彼らは異なる目的を持っています。

  • NominalDiffTime時間の差を計算するためのものです。
  • DiffTimeは、計測された時間用です (たとえば、ストップウォッチを使用)。
于 2012-11-09T16:38:54.747 に答える