-1

日付を 2 つのDateTimePickerコンポーネントに動的に割り当てて、2 つを比較しようとしています。

ここでやりたい条件が2つあります。最初に、コンポーネントに指定された日付が現在の日付と同じかどうかをテストします。私はこのようにします:

if DateClosed.date = DateCurrent.date then 
 begin 
  //some code goes here
 end;

dateClosed2 番目の例では、 に提供された日付が、 two にも提供された他の 2 つの日付にあるかどうかをテストしようとしていますDateTimePicker

Borland Delphi 7 Professional を使用しています。

私はDelphiにかなり慣れていないので、答えをできるだけ単純にしてください。

4

1 に答える 1

4

TDateTimePicker.Date日付のみが必要であると指定した場合でも、時間コンポーネント(小数点の右側の小数部分)が含まれます。これにより、比較が失敗します。これは、日付部分(小数点の左側の部分)が正確に一致する場合でも、小数部分が一致しないためです。

(時差を無視して)日付部分のみを比較する場合は、TruncSystem単位内で、uses句に何も追加せずに自動的に使用できるように)を使用して小数部分を削除するだけです。

if Trunc(DateClosed.Date) = Trunc(DateCurrent.Date) then
  // The dates are the same

詳細については、Delphiヘルプファイルを参照してください。XE3のドキュメントはここにありますが、Delphi7以降変更されていません。

于 2013-03-22T01:26:12.610 に答える