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

日期天數如何計算

尚未結案
killerterry
一般會員


發表:8
回覆:4
積分:2
註冊:2002-10-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-16 20:05:37 IP:218.164.xxx.xxx 未訂閱
各位大大請問一下 假如 2003/12/31是建檔日 2004/01/01是隔一天 要怎麼做加減才能算出來他只差一天丫
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-16 20:32:16 IP:203.67.xxx.xxx 未訂閱
引言: 各位大大請問一下 假如 2003/12/31是建檔日 2004/01/01是隔一天 要怎麼做加減才能算出來他只差一天丫
DaysBetween 學而時習之不亦樂乎!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-16 21:20:35 IP:218.170.xxx.xxx 未訂閱
寫個簡單的範例  直接相減就可以    
    procedure TForm1.Button1Click(Sender: TObject);
var t1,t2:tdate;
begin
    t1:=strtodate('2003/12/31');
    t2:=strtodate('2004/1/1');
    showmessage (floattostr(t2-t1));
end;    
yachanga
資深會員


發表:24
回覆:335
積分:296
註冊:2003-09-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-16 21:53:40 IP:61.230.xxx.xxx 未訂閱
引言: 各位大大請問一下 假如 2003/12/31是建檔日 2004/01/01是隔一天 要怎麼做加減才能算出來他只差一天丫
Hi killerterry: 這個問題討論的蠻多的喔.. 建議可以善加利用KTOP強大的搜尋功能喔 我個人最欣賞Micky 版大的解法喔
引言: 引述Micky版大.... Delphi TDateTime 事實上是實數 整數部分是天數 (自 1899/12/31 起算), 小數部分是時間 (單位為天) 所以 你可以直接將 Trunc(D2) - Trunc(D1).
其他相關討論, 解法太多了, 自己吸收囉 >~悠遊法國號~
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-03 10:13:31 IP:61.221.xxx.xxx 未訂閱
DaysBetween 學而時習之不亦樂乎! [/quote] 幫JEST大大補一下如果你不計較到是否差別24小時 只在乎日曆上是否差一天 這是最快的方法,但先記得uses Dateutils Showmessage(Inttostr(daysbetween(StrToDateTime('2004/1/5'),StrToDateTime('2004/6/2')))); 作個參考吧!!
mirage
初階會員


發表:40
回覆:101
積分:28
註冊:2004-01-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-03 16:31:00 IP:220.130.xxx.xxx 未訂閱
您可以試試看: procedure TForm1.Button1Click(Sender: TObject); var d1,d2:TDate; begin d1:=StrToDate('2003/12/31'); d2:=StrToDate('2004/01/01'); Label1.Caption :='2003/12/31~2004/01/01 共計' IntToStr(trunc(Double(d2)-Double(d1))) '天'; end; 發表人 - mirage 於 2004/06/03 16:32:48
系統時間:2024-06-27 3:49:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!