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

時間要如何比對

答題得分者是:Justmade
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-26 11:39:16 IP:211.76.xxx.xxx 未訂閱
請問時間要如何做比對呢 我把時間轉成字串的型態去做比對可是當時間過了午夜後 我凌晨01:00去跟22:00作比對時就無法得到 凌晨一點的時間比22點晚 請問各位大大要如何解決呢
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-26 11:49:07 IP:202.39.xxx.xxx 未訂閱
不用轉成字串再比對 直接以 TDateTime/TDate/TTime 的型態去比大小就可以了. --- Have you ever wondered what it would be like?
william
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-26 11:49:48 IP:147.8.xxx.xxx 未訂閱
引言:請問時間要如何做比對呢 我把時間轉成字串的型態去做比對可是當時間過了午夜後 我凌晨01:00去跟22:00作比對時就無法得到 凌晨一點的時間比22點晚 請問各位大大要如何解決呢
Do you mean the converted string comparsion is wrong? Perhaps you should try to compare the time directly or format the string property, e.g. time1 is 01:00, time2 is 22:00 frac(time1) < frac(time2) FormatDateTime('hhnnss',time1) < FormatDateTime('hhnnss',time2) P.S. why I need to add extra space before and after '<' in order to have it displayed properly? 發表人 - william 於 2003/03/26 11:52:44
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-26 12:45:36 IP:218.16.xxx.xxx 未訂閱
在不同一日的時間 (TTime) 是無法正確對比的,因為 TTime 沒有日期資料,都會被當成是同一日的,22:00自然比 01:00 晚 若要跨日對比時間,就必須用 TDateTime / TTimeStamp 等包含日期及時間的資料形態作對比。建議使用 TDateTime,因為比較簡單。 另外,若兩個對比對象都是 TDateTime,直接對比即可不用轉變為文字。
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-26 16:42:33 IP:211.76.xxx.xxx 未訂閱
再請問各位時間可以做加減嗎
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-26 16:54:21 IP:218.16.xxx.xxx 未訂閱
可以,不過 1 是代表 1 日 所以加 1 小時就是 myTime := myTime (1/24); 加 1 分鐘就是 myTime := myTime (1/24/60); 加 1 秒鐘就是 myTime := myTime (1/24/60/60);
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-26 17:04:16 IP:61.220.xxx.xxx 未訂閱
其實日期是以double型態的數字所運算的 所以可加減 每加一就是多一天 例
procedure TForm1.Button1Click(Sender: TObject);
  var
  dd,mm :TDateTime ;
  aa :real;
begin
  dd := Now 1 ;
  mm := now;
  aa := dd-mm;
  ShowMessage(FloatToStr(aa) #10#13 DateTimeToStr(dd));
end;
天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
系統時間:2024-05-08 10:40:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!