本地時間和格林威治時間安全的寫法:
安全的寫法:
在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 修飾的變數是常數,不可更改,只能初...