執行著的程式獲得時間或日期是很有意義的,所有的類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...