c語言對時間的處理函式和計時的實現

2021-04-12 23:21:53 字數 2300 閱讀 9718

關鍵字:c語言 時間函式 time.h c語言時間函式,時間頭函式

原帖位址

所有**編譯環境:msvc6.0

1,時間的獲取:

通過time()函式來獲得日曆時間(calendar time),其原型為:time_t time(time_t * timer);

#include "stdafx.h"

#include "time.h"

#include "stdio.h"

#include "stdlib.h"

int main(void)

2,時間的儲存,通過預定義的兩種結構來儲存:

1,日曆時間(calendar time)是通過time_t資料型別來表示的,用time_t表示的時間(日曆時間)是從乙個時間點(例如:2023年1月1日0時0分0秒)到此時的秒數。在time.h中,我們也可以看到time_t是乙個長整型數:

#ifndef _time_t_defined

typedef long time_t;

/* 時間值 */

#define _time_t_defined

/* 避免重複定義 time_t */

#endif

2,在標準c/c++中,我們可通過tm結構來獲得日期和時間,tm結構在time.h中的定義如下:

struct tm ;

3,時間的顯示:

time.h標頭檔案中提供了asctime()函式(引數為tm結構指標)和ctime()函式(引數為time_t結構)將時間以固定的格式顯示出來,兩者的返回值都是char*型的字串。返回的時間格式為:星期幾 月份 日期 時:分:秒 年/n/0;time.h還提供了兩種不同的函式將日曆時間(乙個用time_t表示的整數)轉換為我們平時看到的把年月日時分秒分開顯示的時間格式tm:

struct tm * gmtime(const time_t *timer);

gmtime()函式是將日曆時間轉化為世界標準時間(即格林尼治時間),並返回乙個tm結構體來儲存這個時間

struct tm * localtime(const time_t * timer);localtime()函式是將日曆時間轉化為本地時間

#include

#include

#include

#include

int main(void)

4,時間差的計算:

clock_t clock( void );函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,clock_t是乙個長整形數,儲存時間的資料型別。在time.h檔案中,還定義了乙個常量clocks_per_sec,它用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:

#define clocks_per_sec ((clock_t)1000)

每過千分之一秒(1毫秒),呼叫clock()函式返回的值就加1,時鐘計時單元的長度為1毫秒,那麼計時的精度也為1毫秒,那麼我們可不可以通過改變clocks_per_sec的定義,通過把它定義的大一些,從而使計時精度更高呢?這樣是不行的。在標準c/c++中,最小的計時單位是一毫秒。double difftime(time_t time1, time_t time0);這個函式來計算時間差。

#include "stdafx.h"

#include "time.h"

#include "stdio.h"

#include "stdlib.h"

int main(void)

5,時間的其他用途

用作隨機數的種子,由於時間獲得的實際上是乙個double型別的長整數,通過time(null)函式獲得,作為srand(time(null))的種子產生隨機數比較好。

mysql對時間函式的處理

字首的月份的日期 1st,2nd,3rd,等等。y 年,數字,4 位 y 年,數字,2 位 a 縮寫的星期名字 sun sat d 月份中的天數,數字 00 31 e 月份中的天數,數字 0 31 m 月,數字 01 12 c 月,數字 1 12 b 縮寫的月份名字 jan dec j 一年中的天數...

SQL 對時間的處理

獲取當前日期 如 yyyy mm dd select datename year,getdate datename month,getdate datename day,getdate 獲取當前日期 如 yyyy mm dd select datename year,getdate datename...

相對時間的處理處理

在vue專案中實現以下時間出現方式 安裝包dayjs dayjs 安裝 時間外掛程式 relativetime 封裝外掛程式 注入外掛程式 在元件中使用 npm i dayjs 封裝模組 封裝外掛程式 在src 下建立乙個 x.js檔案 import dayjs from dayjs 引入中文語言包...