2011-07-29 7 views
0

ここでは、予定を予約するのに適切な日付を選択する必要があるコードスニペットがあります。これは、予定のために選択された日付が現在の日付それより遅い。私は現在の日付を選択するとblock.Whenが今まで私は後でそれが正常に動作し、現在の日付よりも日付を選択した場合datTimePickerの日付フォームの選択

if (dateTimePicker1.Value < DateTime.Now) 
      toolStripStatusLabel1.Text = "Date Selected is not Proper"; 
else (dateTimePicker1.Value >= DateTime.Now) 
      toolStripStatusLabel1.Text = "Date Selected is " + dateTimePicker.Value; 

しかし、ここではいつもになります。

はDateTimePickerのがあなたのために、このチェックを行いますMinimumDateプロパティを持っているあなたに

答えて

2

DateTime.Nowには時刻が含まれているため、DateTimeを試してください。これは日付のみを取得します。

0

をありがとう - あなたはそれを試してみましたか?ここではドキュメントは次のとおりです。

また
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.mindate(v=vs.80).aspx 

、DateTime.Nowは時間/分/秒を持っていることに注意してください - あなたのDateTimeの日付部分のみを比較する場合、それはあなたの例からも明らかではありませんか...?このことができます

希望、

ジョン

4

あなたは日時の時刻部分を忘れています。あなたは代わりにこれを使用する必要があります。

if (dateTimePicker1.Value < DateTime.Today) 
     toolStripStatusLabel1.Text = "Date Selected is not Proper"; 
else (dateTimePicker1.Value >= DateTime.Today) 
     toolStripStatusLabel1.Text = "Date Selected is " + dateTimePicker.Value; 
2

データを返すDateTime.Nowないだけで、それはまた、時間を返すため。そのため修正する:milisecond差によるものである代わりにDateTime.Now

0

使用DateTime.Now.Dateを..あなたが唯一の日付とTimeSpanを使用してみてください...日付の一部ではなく、時間の一部のみをチェックする必要がありますそれはあなたの問題を解決するはずです。

2

DateTime.Nowは、常に使用DateTime.Now.Date

'午後1時50分00秒2011年7月29日' より小さい '2011-07-29' 日付と時刻の両方、および
を含みこの種の比較の場合は DateTime.Todayです。

関連する問題