web-dev-qa-db-ja.com

C#タイムスパンミリ秒と合計ミリ秒

以下の例では、なぜMillisecondsプロパティは0を返しますが、TotalMillisecondsプロパティは5000を返しますか

// 5 seconds
TimeSpan intervalTimespan = new TimeSpan(0, 0, 5);

// returns 0
intervalTimespan.Milliseconds;

// returns 5000.0
intervalTimespan.TotalMilliseconds
54
AJM

シンプル:

  • ミリ秒は残りのミリ秒であり、1秒を形成しません。
  • TotalMillisecondsは、ミリ秒として表されるタイムスパンの完全な期間です。
64
Daniel Hilgarth

Millisecondsはミリ秒の部分を返し、TotalMillisecondsはTimespanで表される合計ミリ秒を返すため

例:0:00:05.047

ミリ秒:47

合計ミリ秒:5047

65
David Kemp

IntervalTimespan.Milliseconds;タイムスパンのミリ秒コンポーネントを返します。タイムスパンコンストラクターには時分と秒のコンポーネントしかないため、結果は0です。intervalTimespan.TotalMilliseconds-これにより、タイムスパンの合計ミリ秒が取得されます。例:

// 5 miliseconds
TimeSpan intervalTimespan = new TimeSpan(0, 0,0,0,5);

// returns 5
intervalTimespan.Milliseconds;

// returns 5
intervalTimespan.TotalMilliseconds
4
Marginean Vlad

TimeSpanには他のオーバーロードがあります

TimeSpan(hour, minute, seconds)
TimeSpan(days, hour, minute, seconds)
TimeSpan(days, hour, minute, seconds, milliseconds)

Millisecondsプロパティは実際のミリ秒値を返します

TotalMillisecondsは、日、時間、分、秒を含む全体のミリ秒を返します

1
hallie

明らかに、MilisecondsTimeSpanのmilisenconds部分のみを返し、TotalMilisecondsTimeSpanで表される時間のミリ秒数を計算します。

あなたの場合、最初に0を返すのは正確に5秒であるため、2番目は5000を返します5s == 5000msであるため

1
Jarek

他のことについて言及していない重要なことの1つは、次のとおりです(ドキュメントによる)。

Millisecondsプロパティはミリ秒全体を表し、TotalMillisecondsプロパティは全体および小数ミリ秒を表します。

これは、TotalMillisecondsのコメントからも控除できます。

このプロパティは、このインスタンスの値をティックからミリ秒に変換します。

最も正確な表現が秒またはミリ秒単位で必要な場合は、TotalSecondsまたはTotalMillisecondsプロパティを使用する必要があるため、これには大きな意味があります。両方ともdouble型です。

0
heltonbiker