獲取當前系統時間(摘)

2022-03-31 10:34:50 字數 1481 閱讀 3273

from

第一種方法是利用time()函式獲得當前系統時間,返回結果是tdatetime結構型別的變數。

可以使用:timetostr將時間改為字元型。該函式不能用於返回「日期」。

單獨用於返回日期的系統函式是date。

那麼有什麼是既可返回正確的「時分秒」又可返回正確的「年月日」呢? 可以用now函式,例如:

varstime:tdatetime;

sday:tdatetime;

mytime:tdatetime;

begin

stime:

=time();

sday:

=date ;

mytime:

=now;

//caption:

=datetostr(sday)+'

'+timetostr(stime);  

caption:

=datetostr(mytime)+'

'+timetostr(mytime);

end;

二是使用函式:decodedate(date,wyear,wmonth,wday);//wyear等為word型別

三、使用api函式getsystemtime

用now返回的日期格式中年只有2位,即2023年顯示為00, 這似乎不太令人滿意. 此外now和time都只能獲得精確到秒的時間,為了得到更精確的毫秒級時間,可以使用api函式getsystemtime,它對應的tsystemtime型別的定義為:

tsystemtime = record

wyear: word;

wmonth: word;

wdayofweek: word;

wday: word;

whour: word;

wminute: word;

wsecond: word;

wmilliseconds: word;

end;

顯然,在程式邏輯中還能夠方便地使用其結構成?時---各類時間值,因此使用函式getsystemtime具有很大優越性。但該書中該函式的用法是錯誤的,通過查閱windows sdk幫助可知,該函式原型為:

void getsystemtime(lpsystemtime lpst),引數指標lpst獲取系統時間,因此可如以下程式段實現:

procedure tform1.button3click(sender: tobject);

varsystime: tsystemtime;

begin

getsystemtime(systime);

caption:=inttostr(systime.wyear)+' '+inttostr(systime.wmonth);

//if systime.wyear>2000 then

// ......在程式邏輯中利用獲取的各類時間值

end;

綜合以上討論,獲取當前系統時間利用函式getsystemtime比較方便而且靈活。

C C 獲取當前系統時間

方案 優點 僅使用c標準庫 缺點 只能精確到秒級 include include int main void size t strftime char strdest,size t maxsize,const char format,const struct tm timeptr 根據格式字串生成字...

js獲取當前系統時間

var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...

C C 獲取當前系統時間

方案三,優點 利用系統函式,還能修改系統時間 此檔案必須是c 檔案 include include using namespace std void main 方案四,將當前時間折算為秒級,再通過相應的時間換算即可 此檔案必須是c 檔案 include include using namespace...