C語言基礎(十二)時間操作

2021-10-11 01:16:58 字數 2045 閱讀 3441

在c語言中,用time_t來表示時間資料型別,它是乙個long型別的別名,在time.h中定義。time_t表示乙個日曆時間是從2023年1月1日0是0分0秒到現在的秒數。

typedef

long time_t;

time庫函式返回的是乙個值,也就是從2023年1月1日0是0分0秒到現在的秒數。

time函式是c語言標準庫函式中的函式,在time.h中宣告。

time_t time

(time_t *t)

;

time_t now;

now=

time(0

);

2.將變數now的位址作為引數傳遞給time函式。

time_t now;

time

(&now)

;

結構體宣告:

struct tm *

localtime

(const time *t)

;

結構體實現(在time.h函式中):

struct tm

;

使用方法示例:

#include

#include

#include

intmain()

結果:

2020/11/30 21:59:23

mktime函式的功能與localtime函式相反。

localtime函式用於把time_t表示的時間轉換為struct tm表示的時間

mktime函式用於把struct tm表示的時間轉換為time_t表示的時間。其函式宣告為:

函式返回time_t的值。

time_t mktime

(struct tm *tm)

;

在實際開發中,我們經常需要把程式掛起一段時間,可以使用sleep和usleep兩個庫函式,需要包含unistd.h標頭檔案。

其函式宣告如下:

unsigned

intsleep

(unsigned

int seconds)

;int

usleep

(useconds_t usec)

;/*引數解釋:

*sleep函式的引數是秒,usleep函式的引數是微妙。1秒=1000000微妙

1.timeval結構體

struct timeval

;

2.timezone結構體

struct timezone

3.gettimeofday函式

函式宣告:

int

gettimeofday

(strcut timeval *tv,

struct timezone *tz)

;/*當前的時間存放在tv結構體中,當地時區的資訊則放在tz結構體中。

*函式執行成功返回0,否則返回-1、

應用例項:

#include

#include

#include

intmain()

執行結果:

start counting!

time=1606748022 begin.tv_sec=1606748022 begin.tv_usec=380271

coutinf stop!

time=1606748023 end.tv_sec=1606748023 end.tv_usec=383159

program lasted for 1002888 microsec!

ABP官方文件 十二 時間與時區設定

雖然有些應用的需求是單時區,然而另一些是需要對不同的時區進行處理的。為了滿足這樣的需求以及對時間的處理。abp提供了處理時間操作的通用基礎設施。clock這個類是主要用來處理datetime的值。它具有以下靜態屬性和方法 所以我們不應該使用datetime.now,而是使用clock.now,如下所...

C語言刷題組(基礎),十二

utc是世界協調時,bjt是北京時間,utc時間相當於bjt減去8。現在,你的程式要讀入乙個整數,表示bjt的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分 如果小時是0,則沒有百位部分 如果小時不是0而分小於10分,需要保留十位上的0 如果小時是0而分小於10...

C語言時間操作函式

一 獲取日曆時間 time t是定義在time.h中的乙個型別,表示乙個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是 typedef long time t time value 可以看出time t其實是乙個長整型,由於長整型能表示的數值有限,因此它能表示的最遲時間是203...