2

タイムスタンプ コントロールをパネルに配置した後、日付部分が必要ないため、時間のみを表示するようにプロパティを変更しました。

このコントロールに表示される値は、予想どおり ですが、00:00:00上ボタンを押すと01:00:0101:00:02、...、下ボタンを押すと00:59:5900:59:58などとなります。コントロールのテキスト ボックス内に書き込む01:00:00と、自動的に に戻ります00:00:00。タイムスタンプ値を double に変更すると、 0for 00:00:00-1for 00:59:59、および1forを取得し1:00:01ます。

したがって、このコントロールは基準時間として 01:00:00 を使用しているように見えます。プロパティの内部で、 の最小値を見つけました01:00:00,000 1600-01-01。に変更すると00:00:00、期待した結果が得られません。

このコントロールが通常のタイム スパン コントロールとして正しく機能する方法はありますか?

4

1 に答える 1

4

動作が正しいかどうかはわかりませんが、説明できます。

問題は、絶対時間を使用していることです。絶対時間では、LV は 1904 UTC の最初の真夜中をエポック (ゼロ値) として使用し、その値を取得すると、それをすべてゼロとして表示します。変更すると、表示は通常に戻ります。ベースとして 1:00:00 が表示されている理由は、GMT+1 タイムゾーンにいて、値がゼロでない場合に LV が自動的に表示を修正するためです。

私が提案するのは、タイムスタンプ コントロールを数値コントロールに置き換え、プロパティのフォーマット ページに移動し、相対時間を表示するようにコントロールを変更することです。または、時間を絶対にしたい場合は、開始する前に、ローカル変数を使用してコントロールの値を正しいタイムスタンプに設定します。

于 2013-02-27T08:49:29.723 に答える