線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1553
推到 Plurk!
推到 Facebook!

HoursBetween 的問題

尚未結案
tidal
初階會員


發表:93
回覆:32
積分:25
註冊:2003-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-11 13:00:06 IP:202.82.xxx.xxx 未訂閱
這是我的code , 為什麼result 有時會出現0, 當時間是相距1小時 for i:= 1 to length(dayTimeAdded) - 24 do begin if ( i <> 1) then begin if daytimeadded[i] <> '' then begin showMessage('start ' daytimeadded[i-1]); showMessage('end ' daytimeadded[i]); showMessage(inttostr(HoursBetween(strtodatetime(daytimeadded[i]),strtodatetime(daytimeadded[i-1])))); end; end; end; 比較1: start: 2004/9/23 上午 10:00:00 end: 2004/9/23 上午 11:00:00 DaysBetween result=1 比較2: start: 2004/9/23 上午 11:00:00 end: 2004/9/23 下午 12:00:00 DaysBetween result=0 比較3: start: 2004/9/23 下午 12:00:00 end: 2004/9/23 下午 01:00:00 DaysBetween result=0 比較4: start: 2004/9/23 下午 01:00:00 end: 2004/9/23 下午 02:00:00 DaysBetween result=1 比較5: start: 2004/9/23 下午 02:00:00 end: 2004/9/23 下午 03:00:00 DaysBetween result=0 比較6: start: 2004/9/23 下午 03:00:00 end: 2004/9/23 下午 04:00:00 DaysBetween result=0 比較7: start: 2004/9/23 下午 04:00:00 end: 2004/9/23 下午 05:00:00 DaysBetween result=1 我不知道是什麼原因
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-11 14:36:03 IP:147.8.xxx.xxx 未訂閱
This is round off error. TDateTime is similar as a double which is suffering from round off error.    And take a look at the function in DateUtils:    
function HoursBetween(const ANow, AThen: TDateTime): Int64;
begin
  Result := Trunc(HourSpan(ANow, AThen));
end;
http://pywong.hk.st http://www.lazybones.ca
tonytop
中階會員


發表:6
回覆:114
積分:89
註冊:2003-12-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-11 16:53:17 IP:210.64.xxx.xxx 未訂閱
用這個吧!把日時相減後算出來;若把 >
tidal
初階會員


發表:93
回覆:32
積分:25
註冊:2003-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-12 12:23:34 IP:202.82.xxx.xxx 未訂閱
Daysbetween 會有同樣問題嗎? 如果我用分局用TDate 和 TDateTime
系統時間:2024-07-02 12:31:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!