程式設計中常用的和時間有關的函式

2021-09-14 02:34:46 字數 1318 閱讀 1787

utc:世界標準時間,即格林威治時間。中國內地與utc的時差為+8.

epoch:時間點。在c/c++中為乙個整數,即為此時時間與標準時間所相差的秒數

在c/c++中,我們可以通過tm結構來獲取日期和時間,tm結構在time.h標頭檔案中進行定義。定義如下:

#ifndef _tm_defined

struct tm ;

#define _tm_defined

#endif

而日曆時間表示從標準時間點到當前的時間秒數,用time_t資料型別來表示,time_t在time.h中是乙個長整形數。(time_t為32位,現在又引入_time64_t為int64_t型別,即為64位整數)

time_t time(time_t* timer);

上述函式返回現在的日曆時間,但是只能精確到秒

如果想要精確到微秒級,可以考慮用gettimeofday

int gettimeofday(struct timeval* tv,timezone* tz);

將時間資訊儲存到tv中,將當前時區資訊放到tz中

在tm結構體中可以獲得當前的日期等時間情況。這裡的兩個函式主要是以日曆時間為引數來將日曆時間轉為tm結構體並返回改結構體指標。

struct tm* gmtime(const time_t* timer);

struct tm* localtime(const time_t* timer);

前者將日曆時間轉換為utc世界標準時間,後者將日曆時間轉換為本地時間,都儲存到tm結構體中。

將時間轉換為固定的時間格式的字串,並返回改字串指標,返回的時間格式為:

星期 月 日 時分秒 年\n\0

char* asctime(const struct tm* timeptr);

char* ctime(const time_t* timer);

前者只是將tm結構體中儲存的時間進行轉化一下就行,而後者會把日曆時間轉換為本地時間再以字串的形式返回。

strftime函式將時間格式化為我們想要的格式。其原型如下:

size_t strftime(

char *strdest,

size_t maxsize,

const char *format,

const struct tm *timeptr 

);將timeptr中的資料按照format中要求的形式將資料格式化,並儲存到strdest中

將tm結構中儲存的時間資訊轉換為日曆時間

time_t mktime(struct tm* timeptr);

上述函式的常用用法為給tm資料結構賦予相應的時間資訊,然後將其轉換為日曆時間

Mysql中常用的日期和時間函式

乾貨 返回日期date的星期索引 1 星期天,2 星期一,7 星期六 dayofweek date select dayofweek 2019 07 17 4 星期三 select dayofweek now 5 星期四 返回date的星期索引 0 星期一,1 星期二,6 星期天 weekday d...

c 中常用到的時間函式

datetime 數字型 system.datetime currenttime new system.datetime 1 取當前年月日時分秒 currenttime system.datetime.now 2 取當前年 int 年 currenttime.year 3 取當前月 int 月 cu...

函式式程式設計中常用的函式(總結)

1.函式式程式設計的含義 函式式程式設計是一種程式設計的基本風格,就是構建程式的結構和元素的方式。函式式程式設計將計算過程看做是數學函式,也就是可以使用表示式程式設計。在函式的 中,函式的返回值只以來傳入函式的引數,因此使用相同的引數呼叫2次就會得到相同的結果。如果說這段話很難理解,我覺得可以這麼想...