全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3245
推到 Plurk!
推到 Facebook!

計算兩個日子相差多少日?

尚未結案
cchan
一般會員


發表:3
回覆:2
積分:1
註冊:2005-03-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-24 13:52:41 IP:218.102.xxx.xxx 未訂閱
在資料庫中取了兩個日子,如何計算兩者相差多少日呢?謝謝!
meta
中階會員


發表:3
回覆:60
積分:57
註冊:2004-06-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-24 14:19:02 IP:202.39.xxx.xxx 未訂閱
請參考一下吧.. http://delphi.ktop.com.tw/topic.php?topic_id=49766    
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-24 16:38:09 IP:202.47.xxx.xxx 未訂閱
您好﹗    可使用Trunc函數來處理日期相差值﹐方法如下﹕
Var
  Date1, Date2: TdateTime;
  DiffDate: Integer;
begin
  Date1 := StrToDate('11/02/2004');
  Date2 := StrToDate('24/05/2005');
  DiffDate := Trunc(Date2) – Trunc(Date1);
  ShowMessage('相差﹕' + IntToStr(DiffDate) + '日');
end;
另外﹐還可配合ABS取絕對值函數來使用﹐無論Date1日期值較大或Date2日期值較大﹐都可做為減數或被減數來使用﹐同上例﹕
Var
  Date1, Date2: TdateTime;
  DiffDate: Integer;
begin
  Date1 := StrToDate('11/02/2004');
  Date2 := StrToDate('24/05/2005');
  DiffDate := ABS(Trunc(Date1) – Trunc(Date2)); //此處Date1日期值較大
  ShowMessage('相差﹕' + IntToStr(DiffDate) + '日');
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-24 17:10:01 IP:210.64.xxx.xxx 未訂閱
你好 應該是可以用兩個日期相減就可以得到值,例如
var i : double;
begin
  i := date - StrToDate('2005/1/1');
  ShowMessage(FloatToStr(i));
end;
這樣就可以得到相減的天數!!試試看吧!! Pillar Wang
------
Pillar Wang
xxxxzxx
一般會員


發表:21
回覆:49
積分:24
註冊:2004-11-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-26 01:36:19 IP:220.163.xxx.xxx 未訂閱
请查看DateUtils.pas中的    function YearsBetween(const ANow, AThen: TDateTime): Integer; function MonthsBetween(const ANow, AThen: TDateTime): Integer; function WeeksBetween(const ANow, AThen: TDateTime): Integer; function DaysBetween(const ANow, AThen: TDateTime): Integer; function HoursBetween(const ANow, AThen: TDateTime): Int64; function MinutesBetween(const ANow, AThen: TDateTime): Int64; function SecondsBetween(const ANow, AThen: TDateTime): Int64; function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;    希望能满足您的要求.
alfee
一般會員


發表:0
回覆:1
積分:0
註冊:2005-08-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-23 17:52:21 IP:210.68.xxx.xxx 未訂閱
我用Delphi 5, use DateUtils,編譯時會有error,請問如何解決?
系統時間:2024-06-25 13:48:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!