1

ユーザーの生年月日に基づいていくつかの情報を計算するために使用される小さなソフトウェアを作成しました。そのうちの 1 つは、生存日数です。基本的に、DateDiffこれを達成するためにVB.NETの関数を使用しましたが、1つの問題があり、まだ理解していません。

.Value を使用して DateTimePicker の値を変数に割り当て、DateDiff を次のように使用します。

DateDiff(DateInterval.Day, dtDOB, Today)

問題は、現在の日付 (昨日) より前の日付を選択したときに、結果が 1 になるはずなのに 0 になったことです。

に変更し.Value.Text、値を同じ変数に保存すると。与えられた結果は 1 でした。これは私が期待したものですが、.Value プロパティの何が問題なのかわかりません。私が調査を行ったとき、私が訪れたほとんどのWebサイトは.Value、DateTimePickerから変数に値を転送するために使用することを提案しましたが、どういうわけか正確ではないようです.

誰かが私にそれらの2つの違いを教えてもらえますか?

どうもありがとうございました

4

1 に答える 1

0

ADatePicker.ValueDateオブジェクトを返し、asはその日付DatePicker.Textの表現を返します。String

Todayによって返される値と からの出力を調べた後、日付に沿って時刻 (デフォルトでは現在の時刻) を含むオブジェクトを返すDatePicker.Valueことに到達しました。ここで、asは現在の日付のみを返します。に接続すると、メソッドは の時刻が午前 12:00 であると想定し、時刻を比較すると 1 日未満になる場合があり (VB では両方の日付の間の完全な 24 時間として解釈されます)、0 日になります。時間と分をカウントする予定がない場合は、 を使用します。.ValueDateTodayDateDiff()TodayDateDiff(DateInterval.Day, dtDOB.Date, Today)

于 2014-03-15T13:29:53.230 に答える