推薦學習: 《c 教學》
#首先介紹2個資料型態。
一個是time_t,與時間函數相關的變量,定義的變數記錄自1970 年1 月1 日以來經過的秒數,也稱為時間戳。
另一個是結構體tm,
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)即可,可取得目前時區的時間戳記。
struct tm *localtime(const time_t *timer);
將time_t類型轉換為本地時間的 tm 結構的指標。
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
str -- 這是指向目標數組的指針,用來複製產生的 C 字串。
maxsize -- 這是被複製到 str 的最大字元數。
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 | |
05 |
%j | |
231 |
%m | |
08 |
#%M | |
55 |
%p | |
AM 或PM 名稱 | ||
秒(00-61) | ||
一年中的第幾週,以第一個星期日作為第一周的第一天(00-53) | ||
十進位數表示的星期幾,星期日表示為0(0-6) | ||
一年中的第幾週,以第一個星期一作為第一週的第一天(00-53) | ||
#法 | ||
##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;
以上是C++如何簡單輸出目前日期時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!