返回自 1970-01-01 00:00:00 UTC 至今的秒數(time_t)。
time_t now = time(nullptr);
cout << now; // 如 1705234567
localtime:轉為本地時區的 tm。gmtime:轉為 UTC 時間的 tm。注意: 兩者返回指向靜態內部 tm 的指針,後續調用會覆蓋前一次結果,需立即拷貝或使用。
tm_sec (0-59) 秒
tm_min (0-59) 分
tm_hour (0-23) 時
tm_mday (1-31) 日
tm_mon (0-11) 月 (0=一月)
tm_year 年份-1900
tm_wday (0-6) 星期 (0=週日)
tm_yday (0-365) 年內天數
tm_isdst 夏令時標誌
常用格式符:
| 符號 | 含義 | 示例 |
|---|---|---|
| %Y | 四位年份 | 2024 |
| %m | 兩位月份 | 01 |
| %d | 兩位日期 | 14 |
| %H | 24制小時 | 10 |
| %M | 分鐘 | 37 |
| %S | 秒 | 05 |
| %F | %Y-%m-%d | 2024-01-14 |
| %T | %H:%M:%S | 10:37:05 |
char buf[64];
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", localtime(&now));
cout << buf; // 2024-01-14 10:37:05
time_t t1 = 1351118531; // 2012-10-25 06:42:11
time_t t2 = 1351218731; // 2012-10-26 10:32:11
double diff = difftime(t2, t1); // 秒差
cout << diff << " 秒"; // 100200