Linux環境程式設計的時間獲取

2021-10-04 13:19:28 字數 2274 閱讀 6647

執行著的程式獲得時間或日期是很有意義的,所有的類unix系統都使用同乙個時間和日期的起點,即格林尼治時間(gmt)2023年1月1日,這被稱為unix紀元的起點,時間從那時經過的秒數來衡量。ms—dos紀元始於2023年。

在linux中處理時間的函式及時間型別在標頭檔案中定義。

#include

time_t time

(time_t* tloc)

;double

difftime

(time_t time1,time_t time2)

;struct tm*

gmtime

(const time_t timeval)

;

time函式獲取底層時間值,返回從紀元開始的秒數,time_t在32位linux系統上是32位長的,時間將在2023年迴繞。

difftime函式計算time1-time2的值。

gmtime函式把底層時間值分解為乙個結構,包含一些常用的成員,返回utc時間,所以該時間與北京時間並不相同。這樣做是為了同步全球所使用的程式和系統,使不同時區的系統在同一時刻建立的檔案具有相同的建立時間。

在這裡我們看到獲取的時間比北京時間早了8個小時,因為北京在東八區(utc+8),而

gmtime返回的是世界標準時間,即格林尼治時間。

#include

struct tm*

localtime

(const time_t* timeval)

;time_t mktime

(struct tm* timeptr)

;char

*asctime

(const

struct tm* timeptr)

;char

*ctime

(const time_t* timeval)

;

localtime返回的結構指標中儲存的是本地時區的時間.

mktime將已分解的tm結構合成為原始的time_t時間值,失敗返回-1。

asctime返回乙個長度固定為26個字元的固定格式字串。

ctime返回的是本時區的固定格式字串。

strftime函式格式化timeptr指標指向的結構,按照format給定的格式,字串被指定至少maxsize個字元長,將結果放在字串s中。

strptime函式讀取字串並建立tm結構,返回乙個指標,指向轉換處理過程最後乙個字元後面的那個字元,呼叫程式需要檢查是否已從傳遞的字串中讀取了足夠的資料。

#include

#include

#include

#include

intmain()

linux 環境程式設計資料獲取站點

gcc 中文手冊 gnu make 指南 autoconf 2.57手冊 英文 autoconf 2.13手冊 使用 automake 使用cvs進行版本管理 cvs用後感 linux下常用除錯工具 非常好的gdb教程,強烈推薦 gdb英文文件 gdb基本用法 gdb的官方文件 linux程式設計基...

linux 時間程式設計

時間獲取 include time t time time t tloc struct tm gmtime const time t timep 將日曆時間轉化為格林威治標準時間,儲存在tm結構中。struct tm localtime const time t timep 將日曆時間轉化為本地時間...

linux時間程式設計

關於linux下時間程式設計的問題 1.linux下與時間有關的結構體 struct timeval 其中tv sec是由凌晨開始算起的秒數,tv usec則是微秒 10e 6 second struct timezone tv minuteswest是格林威治時間往西方的時差,tv dsttime...