UNIX時間函式

2021-09-13 20:20:21 字數 3706 閱讀 5424

#include

time_t time

(time_t *calptr)

;//成功返回時間值,出錯返回-1

#include

struct timeval

intgettimeofday

(struct timeval *restrict tp,

void

*restrict tzp)

;//總是返回0

某些平台支援用tzp說明時區

#include

struct timespec

;int

clock_tgettime

(clockid_t clock_i,

struct timespec *tsp)

;//成功返回0,出錯返回-1

識別符號

說明clock_realtime

實時系統時間

clock_monotonic

不帶負跳數的實時系統時間

clock_process_cputime_id

呼叫程序的cpu時間

clock_thread_cputime_id

呼叫執行緒的cpu時間

#include

intclock_getres

(clockid_t clockid,

struct timespec *tsp)

;//成功返回0,失敗返回-1

函式把tsp指向的結構初始化為clockid對應的時間精度

#include

intclock_getres

(clockid_t clockid,

const

struct timespec *tsp)

;//成功返回0,失敗返回-1

#include

struct tm

;struct tm *

gmtime

(const time_t *calptr)

;//轉換成世界協調時間

struct tm *

localtime

(const time_t *calptr)

;//轉換成本地時間

// 成功返回tm結構指標, 失敗返回-1

#include

time_t mktime

(struct tm * tmptr)

;

#include

size_t strftime

(char

*restrict buf, size_t maxsize,

const

char

*restrict format,

const

struct tm *restrict tmptr)

;size_t strftime_1

(char

*restrict buf, size_t maxsize,

const

char

*restrict format,

const

struct tm *restrict tmptr, locale_t locale)

;// 若有空間,返回存入陣列的字元數; 否則返回0

format

格式說明

例項%a

縮寫週日名

thu%a

全週日名

thursday

%b縮寫月名

jan%b

全月名january

%c日期和時間

wed mar 27 12:35:30 2019

%c年/100

20%d日27

%d日期(mm/dd/yy)

03/27/18

%e日(一位數字前加空格)

27%f

日期格式yyyy-mm-dd

2019-03-27

%g基於周的年的後兩位數

19%g

基於周的年

2019

%h同 %b

%h小時(24小時制) (00-23)

09%i

小時(12小時)(01-12)

09%j

一年中的第幾天

001-366

%m月(01-12)

01%m

分(00-59)

27%n

換行%p

am/pm

pm%r

本地時間(12小時制)

13:22:35 pm

%r『%h:%m』

%s秒(00-59)

55%t

水平製表符

%t%h:%m:%s

%u週幾(1-7)

%u星期日週數(00-53)

%viso8601 週數(01-53)

%w週幾(0-6)

%w星期一周數(00-53)

%x本地日期

01/19/12

%x本地時間

21:23:33

%y年的後兩位(00-99)

12%y年%z

utc偏移量

%z時區名

cst

#include

char

*strptime

(const

char

*restrict buf,

const

char

*restrict format,

struct tm *restrict tmptr)

//返回上次解析的字串的下乙個字元的指標,否則返回null

格式

說明例項

%a縮寫週日名

thu%a

全週日名

thursday

%b縮寫月名

jan%b

全月名january

%c日期和時間

wed mar 27 12:35:30 2019

%c年/100

20%d日27

%d日期(mm/dd/yy)

03/27/18

%e日(一位數字前加空格)

27%h

同 %b

%h小時(24小時制) (00-23)

09%i

小時(12小時)(01-12)

09%j

一年中的第幾天

001-366

%m月(01-12)

01%m

分(00-59)

27%n

任何空白

%pam/pm

pm%r

本地時間(12小時制)

13:22:35 pm

%r『%h:%m』

%s秒(00-59)

55%t

水平製表符

%t%h:%m:%s

%u星期日週數(00-53)

%viso8601 週數(01-53)

%w週幾(0-6)

%w星期一周數(00-53)

%x本地日期

01/19/12

%x本地時間

21:23:33

%y年的後兩位(00-99)

12%y

unix 時間的相關函式

unix 的時間大致可分為實時的時間和結構體中的時間 計算 1900 到 1970 年之間的秒數 rfc1305 network time protocol 中規定,網路協議中的,時間戳的格式是乙個四個八位組。其值是自 1900 年以來的秒數。unix 沒有提供函式以獲得 1900 年以來的秒數,但...

UTC時間 GMT時間 本地時間 Unix時間戳

utc universal time coordinated 協調世界時,又稱世界標準時間。gmt greenwich mean time 格林尼治平均時。utc與gmt utc相當於本初子午線 即經度0度 上的平均太陽時,過去曾用格林威治平均時 gmt 來表示這兩者幾乎是同一概念。它們都是指的格林...

Unix時間和日期

unix核心通過計算從1970年1月1日0點0分0秒紀元 utc 開始經過的秒數來提供的基本時間和日期服務。在使用者層,這個值是以time t 在unix中以t結尾的資料型別被稱作基本系統資料型別,int的定義型別 資料型別標識的,一般被稱作日曆時間 calendar time 並通過函式time獲...