C++ 簡單輸出當前日期時間

根據https://www.runoob.com/cplusplus/cpp-date-time.html編寫。html

首先介紹2個數據類型。數組

一個是time_t與時間函數相關的變量,定義的變量記錄着自 1970 年 1 月 1 日以來通過的秒數,也稱做時間戳。函數

另外一個是結構體tmspa

struct tm
{
   int tm_sec;         // 秒,範圍從 0 到 59
   int tm_min;         // 分,範圍從 0 到 59
   int tm_hour;        // 小時,範圍從 0 到 23
   int tm_mday;        // 一月中的第幾天,範圍從 1 到 31
   int tm_mon;         // 月份,範圍從 0 到 11
   int tm_year;        // 自 1900 起的年數
   int tm_wday;        // 一週中的第幾天,範圍從 0 到 6
   int tm_yday;        // 一年中的第幾天,範圍從 0 到 365
   int tm_isdst;       // 夏令時
};

而後是3個與時間處理相關的函數,指針

time_t time(time_t *time);

通常使用time(NULL)便可,可獲得當前時區的時間戳。orm

struct tm *localtime(const time_t *timer);

將time_t類型轉換爲本地時間的 tm 結構的指針。htm

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

str -- 這是指向目標數組的指針,用來複制產生的 C 字符串。blog

maxsize -- 這是被複制到 str 的最大字符數。ci

format -- 這是 C 字符串,包含了普通字符和特殊格式說明符的任何組合。這些格式說明符由函數替換爲表示 tm 中所指定時間的相對應值。字符串

格式說明符:

說明符

含義

實例

%a

縮寫的星期幾名稱

Sun

%A

完整的星期幾名稱

Sunday

%b

縮寫的月份名稱

Mar

%B

完整的月份名稱

March

%c

日期和時間表示法

Sun Aug 19 02:56:02 2012

%d

一月中的第幾天(01-31)

19

%H

24 小時格式的小時(00-23)

14

%I

12 小時格式的小時(01-12)

05

%j

一年中的第幾天(001-366)

231

%m

十進制數表示的月份(01-12)

08

%M

分(00-59)

55

%p

AM 或 PM 名稱

PM

%S

秒(00-61)

02

%U

一年中的第幾周,以第一個星期日做爲第一週的第一天(00-53)

33

%w

十進制數表示的星期幾,星期日表示爲 0(0-6)

4

%W

一年中的第幾周,以第一個星期一做爲第一週的第一天(00-53)

34

%x

日期表示法

08/19/12

%X

時間表示法

02:50:06

%y

年份,最後兩個數字(00-99)

01

%Y

年份

2012

%Z

時區的名稱或縮寫

CDT

%%

一個 % 符號

%

4行代碼實如今屏幕輸出當前時間:

char str[50];
time_t now = time(NULL);
strftime(str, 50, "%x %X", localtime(&now));
cout << str << endl;
相關文章
相關標籤/搜索