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次就會得到相同的結果。如果說這段話很難理解,我覺得可以這麼想...