Linux系統下C語言獲取Time

2022-03-03 05:05:01 字數 2490 閱讀 2742

獲取時間的函式有很多,具體包括如下:

一、gettimeofday()獲取當前微秒(us)等級的時間

time()/gettimeofday()等等,下面是獲取具體到usecond的時間程式:

#include #include 

#include

#include

#include

using

namespace

std;

intmain()

程式中需要引入對應的標頭檔案:

#include #include 

程式中呼叫了gettimeofday函式,函式獲得的結果儲存在結構體tv中,函式會把得到從2023年1月1日0時0分0秒到現在的秒數返回到第乙個引數指向的結構體中,第二個引數是關於時區,如果不考慮填入null。

struct timeval結構體的成員如下所示:

/*

a time value that is accurate to the nearest

microsecond but also has a range of years.

*/struct

timeval

;

包括了兩個部分,第一部分是second秒,第二部分是毫秒usecond。

二、localtime()將當前秒級時間轉化為年月日時分秒結構

localtime函式的作用是將秒second轉換為year、month、day、hour、minute、second。並把轉換的結果儲存在tm結構體中。

struct tm結構的成員如下:

/*

used by other time functions.

*/struct

tm;

三、time()獲取當前秒(s)等級的時間

time()函式:獲取到當前時間的秒數,這裡需要注意的是時間變數型別time_t這個變數目前是unsigned 64bits的空間大小了,能夠足夠儲存從2023年以來的us級別的時間值

1 #include 2 #include 3 #include 

4 #include 5 #include 6 #include 7

8int main(void)9

四、字串與時間之間的轉換strftime() 和 strptime()

1. strptime() 函式:把時間格式字串,按一定格式儲存到tm結構體中。

函式宣告:char *strptime(const char *buf,const char *format,struct tm *timeptr)

該函式有三個引數:

2. strftime() 函式:把timeptr指向的結構體內容,根據format格式轉換,並且儲存在str中。

函式宣告:size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

該函式有四個引數,

3. 用例程式如下c++(c)

1 #include 2 #include //

#include

//add this if c34

using

namespace std; //

remove if c56

#define str_time "2021-11-13 18:30:22"78

int main(void)9

執行結果:

4. format中的格式如下:

%a星期幾的簡寫形式

%a星期幾的全稱

%b月份的簡寫形式

%b月份的全稱

%c日期和時間

%d月份中的日期,0-31

%h小時,00-23

%i12進製小時鐘點,01-12

%j年份中的日期,001-366

%m年份中的月份,01-12

%m分,00-59

%p上午或下午

%s秒,00-60

%u星期幾,1-7

%w星期幾,0-6

%x當地格式的日期

參考這裡

五. 這裡封裝乙個時間相關的函式庫方便呼叫

1 time_t get_timestamp_ms(void)2

1011 time_t get_timestamp_us(void)12

view code

未完待續!

Linux下獲取系統資訊

相關函式 include int gethostname char name,size t name include int uname struct utsname name 相關結構 struct utsname 例子int main void printf host name s n comp...

Linux 下C語言獲取檔案大小

linux 下c語言獲取檔案大小 c語言是一種比較底層的語言,有時在其他語言中很容易操作的事情,在c語言中就比較麻煩,例如獲取乙個檔案的大小。j a中file類有個length函式,python中os.path包中有個getsize函式,c語言中卻沒有程式設計客棧直接對應的函式獲取檔案大小。目前,網...

Linux系統下的c語言程式設計

首先要清楚一點相對路徑和絕對路徑的區別 絕對路徑都是以 開頭的,比如 usr bin vi或者 home zorro 代表從根目錄 開始計算的絕對路徑。相對路徑都是不以 開頭的,不如git linux 或者work testplan,代表從當前所在目錄開始計算的相對路徑,如果想知道你現在所在的目錄是...