如何把日期型經過計算得出數字型 |
尚未結案
|
linken
一般會員 發表:23 回覆:37 積分:22 註冊:2004-11-24 發送簡訊給我 |
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; function DaysBetween(const ANow, AThen: TDateTime): Integer; function DaySpan(const ANow, AThen: TDateTime): Double; function SpanOfNowAndThen(const ANow, AThen: TDateTime): TDateTime; implementation {$R *.dfm} function DaysBetween(const ANow, AThen: TDateTime): Integer; begin Result := Trunc(DaySpan(ANow, AThen)); end; function DaySpan(const ANow, AThen: TDateTime): Double; begin Result := SpanOfNowAndThen(ANow, AThen); end; function SpanOfNowAndThen(const ANow, AThen: TDateTime): TDateTime; begin if ANow < AThen then Result := AThen - ANow else Result := ANow - AThen; end; procedure TForm1.FormCreate(Sender: TObject); var D1,D2:TdateTime; i:integer; begin D1 := StrToDate( '2003/10/15' ); D2 := StrToDate( '2004/04/10' ); showmessage('間隔'+inttostr(DaysBetween(d1,d2))+'天'); end; end.另外,如果您想要DateUtils.PAS檔案的話 > <> <> <> < >> > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
procedure TForm1.FormCreate(Sender: TObject); var D1,D2:TdateTime; i:integer; str:string;//宣告要輸出的字串 begin D1 := StrToDate( '2003/10/15' ); //開始時間 D2 := StrToDate( '2004/04/10' ); //結束時間 str:=format('間隔:%1.1f 年',[(D2-D1)/365]); //上面這行如果用1.1f是顯示到小數第一位,1.2f顯示到小數第2位 showmessage(str); end;沒有這麼麻煩的吧,再怎麼寫也不會超過10行,而且,您有真的動手USE過 我給你的DateUtils嗎?有試過它提供的方法嗎? 我之前之所以引用DateUtils.DaysBetween(d1,d2)),是因為可以準確的求出天數(包含年及大小月) (直接相減也是一種辦法) 然後你再去求得近一步的處理,直接除以365就得到了, 或是使用DateUtils.MonthsBetween(d1,d2) 直接求出準確的月份(包含月份跟月份之間),然後你在去除12也可以 方法太多了,你自己好好研究吧 GOOD LUCK <> <> <> < >> > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |