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

請問有關Tdatetime 一秒一秒加上去要怎樣呢?

尚未結案
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-04 18:20:18 IP:218.103.xxx.xxx 未訂閱
請問有關Tdatetime 一秒一秒加上去要怎樣呢? 謝謝
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-04 18:30:00 IP:61.70.xxx.xxx 未訂閱
您好: 以下試試    1.使用DecodeDateTime,EncodeDateTime
implementation    uses DateUtils;    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
var
 AYear,AMonth,ADay,AHour,AMinute,ASecond,AMilliSecond:Word;
begin
DecodeDateTime(Date,AYear,AMonth,ADay,AHour,AMinute,ASecond,AMilliSecond);
ASecond:=ASecond 1;
Date:=EncodeDateTime(AYear,AMonth,ADay,AHour,AMinute,ASecond,AMilliSecond);
Label1.Caption:=DateTimeToStr(Date);
end;    procedure TForm1.FormActivate(Sender: TObject);
begin
Date:=Now;
end;
2.使用UnixToDateTime,DateTimeToUnix
implementation    uses DateUtils;    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
begin
iDate:=iDate 1;
Label1.Caption:=DateTimeToStr(UnixToDateTime(iDate));
end;    procedure TForm1.FormActivate(Sender: TObject);
begin
iDate:=DateTimeToUnix(Now);
end;
發表人 - supman 於 2005/05/04 18:40:04
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-04 18:34:33 IP:218.32.xxx.xxx 未訂閱
你好: TDateTime, 可以把它看成 Float ( 以"天" 為整數單位 ), 加一秒就是 加 1/24/60/60, 參考看看.
jest0024
高階會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-04 19:14:18 IP:211.74.xxx.xxx 未訂閱
Time:=IncSecond(Time,Second);
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-05 09:46:31 IP:218.103.xxx.xxx 未訂閱
回supman 我也想過用 decodetime , encodetime , 但這個會出現很麻煩的問題就會rollover 回jest0024, 我也找到這個function 但是不是 D4 沒有的, 我就連DateUtils都找不到, 是不是有什麼方法可以update 呢? 還是只要找到那個file 再放到 program folder裡再 uses 就可以了?
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-05 10:17:42 IP:203.204.xxx.xxx 未訂閱
您好: 我看DateUtils是1995就有了,Delphi4應該也有. 我放到這個連結您去抓吧,抓回去在Uses DateUtils就可以了. http://hk.geocities.com/supman1supman2/DateUtils.pas 發表人 - supman 於 2005/05/05 10:25:17
jest0024
高階會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-05 10:25:54 IP:211.74.xxx.xxx 未訂閱
Const T = 24*60*60; //<- 秒 Const T = 24*60; //<- 分 Const T = 24; //<- 時 Time = (Time*T Value)/T
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-05 11:27:26 IP:218.103.xxx.xxx 未訂閱
我try 大大給我的dateuntils.pas 會有以下的error [Fatal Error] DateUtils.pas(1): Line too long (more than 1023 characters) 另外我找到 dateutils.dcu 在delphi 2005 .net 上的 可以用嗎? 我怎樣才可以用大大的unit 呢?
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-05-05 11:46:46 IP:203.204.xxx.xxx 未訂閱
您好: 直接把他函數抓出來用,看您要用UnixToDateTime或IncSecond,自己抓一下 function IncSecond(const AValue: TDateTime; const ANumberOfSeconds: Int64): TDateTime; begin Result := ((AValue * SecsPerDay) + ANumberOfSeconds) / SecsPerDay; end;    procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption:=DateTimeToStr(IncSecond(now,1)); end;    SecsPerDay常數值在Delphi中的定義:
Delphi syntax:
const
 HoursPerDay   = 24;
 MinsPerHour   = 60;
 SecsPerMin    = 60;
 MSecsPerSec   = 1000;
 MinsPerDay    = HoursPerDay * MinsPerHour;
 SecsPerDay    = MinsPerDay * SecsPerMin;
 MSecsPerDay   = SecsPerDay * MSecsPerSec;
dcu無法直接拿來用會有版本的問題.
系統時間:2024-05-17 11:10:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!