strtodatetime與MinutesBetween問題 |
答題得分者是:william
|
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
最近使用這兩個函數 計算時間差 出現一個奇怪的問題 我的日期 時間 分別型態為string 利用
MinutesBetween(
strtodatetime('2003/10/10 10:00:00:000') ,strtodatetime('2003/10/10 10:02:00:000')
) 求兩字串分鐘差 其結果在大量資料進來時 總有幾組的分鐘差會差1分鐘 因為MinutesBetween函數 在 9:00:00 AM and 9:00:59:999 AM 分鐘差為0
我在想是不是strtodatetime這函數在轉datetime過程中的誤差而導致這一分鐘的差異 如是 又該怎麼 strtodatetime 求取更精確的時間轉換 有更精確的字串轉日期的函數嗎 BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
引言: In DateUtils:BCDEFHIJKLMNOPQRSTUVWXZfunction MinutesBetween(const ANow, AThen: TDateTime): Int64; begin Result := Trunc(MinuteSpan(ANow, AThen)); end;so you could use round(MinuteSpan(Time1,Time2)); or could the function ceil be better? 型態不符合 Double又要怎麼轉成Extended?? MinuteSpan(const ANow, AThen: TDateTime): Double Round(X: Extended): Int64;
------
BCDEFHIJKLMNOPQRSTUVWXZ |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
引言: double (8 bytes) to extended (10 bytes) conversion should be automatically done by the compiler....function MinutesBetween(const ANow, AThen: TDateTime): Int64; begin Result := Trunc(ROUND((MinuteSpan(ANow, AThen))); 改成這樣compiler不過不去 end; 後來只好再改 function MinutesBetween(const ANow, AThen: TDateTime): Int64; var A:extended; begin A:= MinuteSpan(ANow, AThen); if A=Trunc(A) then Result := Trunc(A) else Result :=Trunc(A) 1; end; 目前正在測試....好像就不會有差一分鐘的問題了 ANYWAY TKX! BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
> < class="code">function MyMinutesBetween(const ANow, AThen: TDateTime): integer;
begin
Result := round((MinuteSpan(ANow, AThen));
end; or function MyMinutesBetween(const ANow, AThen: TDateTime): integer;
begin
Result := ceil((MinuteSpan(ANow, AThen));
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |