こんにちは、私は以下のコードを使用してタイマーを開始します。Label2.Text = Difference1.TotalMinutes.ToString("N0") ただし、分は常に 30 秒です。ラベルには、30 秒しか経過していないときは 1 分と表示され、その後は常に 30 秒遅れています。これをどのように校正できますか?ありがとうロブ
質問する
218 次
1 に答える
1
TimeSpan.TotalMinutesプロパティの定義を見ると、次のように記載されています。
現在の TimeSpan 構造体の値を整数分と小数分で取得します。
したがって、ToString(" N0 ") 形式を使用すると、小数点以下の桁数が不要であり、数値形式であるため、値が切り上げられます。TimeSpan Custom Formats
この場合、特に%m Custom Format 文字列の使用を検討する必要があります。次のようになります。
Label2.Text = Difference1.TotalMinutes.ToString("%m")
テストに使用したコード。タイマー間隔は 1000 に設定され、有効になっています。
Public Class Form1
Dim startTime As DateTime = DateTime.Now
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
Label1.Text = (DateTime.Now - startTime).ToString("%m")
Label2.Text = (DateTime.Now - startTime).TotalSeconds.ToString("N0")
End Sub
End Class
于 2013-02-06T06:30:59.957 に答える