お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"nヶ月後の応答日を求める"

この発言に対し以下のコメントが寄せられています
#00135 UnC さん RE:nヶ月後の応答日を求める

解説 nヶ月後の応答を求めます。nヶ月後の月末処理は oracle の Add_months と同じで例えば 10月 31日の 1ヶ月後は 11月 30日となります。 この function は 前述の Last_day が必要です。 function Add_Months(sdate:TDateTime;Cycle:Integer):TDateTime; var wday:TDateTime; yyyy,mm,dd,end_yyyy,end_mm,end_dd:Word; nen,tuki:Integer; begin DecodeDate(sdate,yyyy,mm,dd); nen := Cycle div 12; tuki := Cycle mod 12; if (mm + tuki > 12) then begin yyyy := yyyy + 1; mm := mm + tuki -12; end else if (mm + tuki <= 0) then begin yyyy := yyyy - 1; mm := mm + tuki +12; end else mm := mm + tuki; yyyy := yyyy + nen; wday := Last_Day(EncodeDate(yyyy,mm,1)); DecodeDate(wday,end_yyyy,end_mm,end_dd); try if end_dd < dd then Result := EncodeDate(yyyy,mm,end_dd) else Result := EncodeDate(yyyy,mm,dd); except ShowMessage('日付が変換できません'); Result := sdate; end; end; 森井 忠重 Original document by 森井 忠重 氏 ID:(KYQ03515)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum