(19)C 日期 時間

2021-10-07 14:10:15 字數 2922 閱讀 8608

本地時間和格林威治時間安全的寫法:

安全的寫法:

在vs 2013中執行此程式會出現錯誤

c++ 標準庫沒有提供所謂的日期型別。c++ 繼承了 c 語言用於日期和時間操作的結構和函式。為了使用日期和時間相關的函式和結構,需要在 c++ 程式中引用 標頭檔案。

結構型別 tm 把日期和時間以 c 結構的形式儲存,tm 結構的定義如下:

struct tm
下面是 c/c++ 中關於日期和時間的重要函式。所有這些函式都是 c/c++ 標準庫的組成部分,您可以在 c++ 標準庫中檢視一下各個函式的細節。

序號函式描述1

time_t time(time_t *time);

該函式返回系統的當前日曆時間,自 1970 年 1 月 1 日以來經過的秒數。如果系統沒有時間,則返回 -1。

2char *ctime(const time_t *time);

該返回乙個表示當地時間的字串指標,字串形式 day month year hours:minutes:seconds year\n\0。

3struct tm *localtime(const time_t *time);

該函式返回乙個指向表示本地時間的 tm 結構的指標。

4clock_t clock(void);

該函式返回程式執行起(一般為程式的開頭),處理器時鐘所使用的時間。如果時間不可用,則返回 -1。

5char * asctime ( const struct tm * time );

該函式返回乙個指向字串的指標,字串包含了 time 所指向結構中儲存的資訊,返回形式為:day month date hours:minutes:seconds year\n\0。

6struct tm *gmtime(const time_t *time);

該函式返回乙個指向 time 的指標,time 為 tm 結構,用協調世界時(utc)也被稱為格林尼治標準時間(gmt)表示。

7time_t mktime(struct tm *time);

該函式返回日曆時間,相當於 time 所指向結構中儲存的時間。

8double difftime ( time_t time2, time_t time1 );

該函式返回 time1 和 time2 之間相差的秒數。

9size_t strftime();

該函式可用於格式化日期和時間為指定的格式。

下面的例項獲取當前系統的日期和時間,包括本地時間和協調世界時(utc)。

例項

#include

#include

using

namespace std;

intmain()

當上面的**被編譯和執行時,它會產生下列結果:20:

07:41201103:

07:412011

tm 結構在 c/c++ 中處理日期和時間相關的操作時,顯得尤為重要。tm 結構以 c 結構的形式儲存日期和時間。大多數與時間相關的函式都使用了 tm 結構。下面的例項使用了 tm 結構和各種與日期和時間相關的函式。

在練習使用結構之前,需要對 c 結構有基本的了解,並懂得如何使用箭頭 -> 運算子來訪問結構成員。

例項

#include

#include

using

namespace std;

intmain()

當上面的**被編譯和執行時,它會產生下列結果:

1970 到目前時間:

1503564157

年:2017月:8

日:24

時間:16:42

:37

#include

#include

#include

#include

using

namespace std;

string get_current_date()

;int

main()

string get_current_date()

輸出格式類似:

2018-09

-1909:

00:58

vs2017 上使用安全方法:

#include

#include

using

namespace std;

#define timesize 26

intmain()

#include

#include

using

namespace std;

intmain()

#include

#include

using

namespace std;

intmain()

1

>error c4996:

'ctime'

: this function or variable may be unsafe. consider using ctime_s instead. to disable deprecation, use _crt_secure_no_warnings. see online help for details.

生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個

查閱之後,發現加入#pragma warning(disable : 4996)【如果您確定**中沒有安全問題,可以通過禁用此功能#pragma warning(disable : 4996)。】

之後就可以了。

19 C語言 結構體

c 陣列允許定義可儲存相同型別資料項的變數,結構是 c 程式設計中另一種使用者自定義的可用的資料型別,它允許您儲存不同型別的資料項。結構用於表示一條記錄,假設您想要跟蹤圖書館中書本的動態,您可能需要跟蹤每本書的下列屬性 為了定義結構,您必須使用 struct 語句。struct 語句定義了乙個包含多...

19 C 裡面的氣泡排序操作

在前面我們學習了for 迴圈,這裡我們就運用前面學習的 for迴圈,來實現乙個氣泡排序的操作。通常情況下,氣泡排序都是進行從小到大的排序。下面是我實現的核心源 int array 01 new int 10 random random 01 new random 開始建立隨機的數列 console....

文件總結19 C語言中的指標

儲存位址的,位址是乙個數字。左值代表空間!右值代表空間裡面的內容!1 定義乙個指標變數p,型別是int 2 p指向乙個int型資料 int p 指標的繫結 p a 指標的解引用 p 23 int p1 a 定義指標的同時並且初始 2 const 關鍵字 const 修飾的變數是常數,不可更改,只能初...