在c語言中,用time_t來表示時間資料型別,它是乙個long型別的別名,在time.h中定義。time_t表示乙個日曆時間是從2023年1月1日0是0分0秒到現在的秒數。
typedef
long time_t;
time庫函式返回的是乙個值,也就是從2023年1月1日0是0分0秒到現在的秒數。
time函式是c語言標準庫函式中的函式,在time.h中宣告。
time_t time
(time_t *t)
;
time_t now;
now=
time(0
);
2.將變數now的位址作為引數傳遞給time函式。
time_t now;
time
(&now)
;
結構體宣告:
struct tm *
localtime
(const time *t)
;
結構體實現(在time.h函式中):
struct tm
;
使用方法示例:
#include
#include
#include
intmain()
結果:
2020/11/30 21:59:23mktime函式的功能與localtime函式相反。
localtime函式用於把time_t表示的時間轉換為struct tm表示的時間
mktime函式用於把struct tm表示的時間轉換為time_t表示的時間。其函式宣告為:
函式返回time_t的值。
time_t mktime
(struct tm *tm)
;
在實際開發中,我們經常需要把程式掛起一段時間,可以使用sleep和usleep兩個庫函式,需要包含unistd.h標頭檔案。
其函式宣告如下:
unsigned
intsleep
(unsigned
int seconds)
;int
usleep
(useconds_t usec)
;/*引數解釋:
*sleep函式的引數是秒,usleep函式的引數是微妙。1秒=1000000微妙
1.timeval結構體
struct timeval
;
2.timezone結構體
struct timezone
3.gettimeofday函式
函式宣告:
int
gettimeofday
(strcut timeval *tv,
struct timezone *tz)
;/*當前的時間存放在tv結構體中,當地時區的資訊則放在tz結構體中。
*函式執行成功返回0,否則返回-1、
應用例項:
#include
#include
#include
intmain()
執行結果:
start counting!time=1606748022 begin.tv_sec=1606748022 begin.tv_usec=380271
coutinf stop!
time=1606748023 end.tv_sec=1606748023 end.tv_usec=383159
program lasted for 1002888 microsec!
ABP官方文件 十二 時間與時區設定
雖然有些應用的需求是單時區,然而另一些是需要對不同的時區進行處理的。為了滿足這樣的需求以及對時間的處理。abp提供了處理時間操作的通用基礎設施。clock這個類是主要用來處理datetime的值。它具有以下靜態屬性和方法 所以我們不應該使用datetime.now,而是使用clock.now,如下所...
C語言刷題組(基礎),十二
utc是世界協調時,bjt是北京時間,utc時間相當於bjt減去8。現在,你的程式要讀入乙個整數,表示bjt的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分 如果小時是0,則沒有百位部分 如果小時不是0而分小於10分,需要保留十位上的0 如果小時是0而分小於10...
C語言時間操作函式
一 獲取日曆時間 time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是203...