C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DateTimePickerに設定された日付と今日の差を取得


(過去ログ 87 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■51900 / inTopicNo.1)  DateTimePickerに設定された日付と今日の差を取得
  
□投稿者/ kenken (1回)-(2010/07/26(Mon) 01:05:46)

分類:[.NET 全般] 

WindowsXP SP2
Visual Basic 2008 Express Edition

はじめて投稿させて頂きます。

DateTimePikerに設定された日付と現在の日時の差を取るようにしたのですが
今日と明日の差が「0」となってしまいます。

教えて下さい。

Dim date1 As Date = Now
Dim date2 As Date = DateTimePicker1.Value
Dim Hiret() As String

Hiret(0) = DateDiff(DateInterval.Day, date1, date2)

今日が7/26で、DateTimePicker1の値を7/25にした場合 → Hiret(0)は-1
今日が7/26で、DateTimePicker1の値を7/26にした場合 → Hiret(0)は0
今日が7/26で、DateTimePicker1の値を7/27にした場合 → Hiret(0)は0
今日が7/26で、DateTimePicker1の値を7/28にした場合 → Hiret(0)は1
今日が7/26で、DateTimePicker1の値を7/29にした場合 → Hiret(0)は2

すいませんがよろしくお願いします。

引用返信 編集キー/
■51901 / inTopicNo.2)  Re[1]: DateTimePickerに設定された日付と今日の差を取得
□投稿者/ Azulean (581回)-(2010/07/26(Mon) 06:19:08)
以下にすることかな。

Dim date1 As Date = Today
Dim date2 As Date = DateTimePicker1.Value.Date

Now も DateTimePicker1.Value も時間つきの値を返します。
これによって、引き算したときに数時間差という結果になって、日単位としては切り捨てられていたのでしょう。
Today と、DateTimePicker1.Value.Date で時間を含まない日付同士で比較することで修正としています。
引用返信 編集キー/
■51924 / inTopicNo.3)  Re[2]: DateTimePickerに設定された日付と今日の差を取得
□投稿者/ kenken (2回)-(2010/07/26(Mon) 16:30:48)
No51901 (Azulean さん) に返信

Azulean さま

ご指摘通り修正して解決致しました。
どうもありがとうございました。

Dim date1 As Date = Today
Dim date2 As Date = DateTimePicker1.Value.Date
Dim sa As Long
  sa = Microsoft.VisualBasic.DateDiff(DateInterval.Day, date1, date2)
MsgBox(sa)

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -