linux下獲取時間函式

2021-08-01 13:44:51 字數 722 閱讀 8871

1、gettimeofday()

獲取的時間為從1970-1-1 00:00:00到目前為止的時間。

當使用該函式獲取ms級別時間時,需注意溢位問題。

1)首先來看一下函式原型:

int gettimeofday(struct timeval *tv, struct timezone *tz)

其中結構體struct timeval定義如下:

struct timeval ;

其中time_t和suseconds_t都是

long int型別。

2)、在利用tv_sec和tv_usec計算毫秒數時,需要注意溢位的問題。

long long getmstime()

通過以上方式可以獲得系統當前的毫秒數,這裡需要注意的是,當系統為32位時msec變數需要定義為long long型別,因為對於32位系統來數,long的長度為32位,取值範圍為-2,147,483,648~2,147,483,647,會溢位。

如果定義long或者int,使用s量級時間單位,可以到2023年不溢位;

如果定義long long,無論使用s量級時間單位還是ms量級時間單位,都不用考慮時間溢位問題;

2、localtime

獲取當前的時間;

u32 getlocaltime()

Linux下獲取時間

函式 clock gettime 是基於linux c語言的時間函式,可以用於計算時間,有秒和納秒兩種精度。函式原型 int clock gettime clockid t clk id,struct timespec tp 其中,cld id型別四種 a clock realtime 系統實時時間...

Linux 下時間獲取

1 獲得當天的日期 date y m d 2 將當前日期賦值給date變數 date date y m d 3 獲取明天的日期 date d next day y m d 4 獲取昨天的日期 date d last day y m d 5 獲取上個月的年和月 date d last month y ...

基於linux下獲取時間函式的詳解

asctime 將時間和日期以字串格式表示 include 定義函式 char asctime const struct tm timeptr 函式說明 asctime 將引數timeptr所指的tm結構中的資訊轉換成真實世界所使用的時間日期表示方法,然後將結果以字串形態返回。此函式已經由時區轉換成...