首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C 語言中時間與日期處理完全指南:time.h 標準庫函數實戰

     編輯:C 語言基礎

核心數據類型與結構

  • time_t:通常為 long,編碼後的日曆時間。
  • struct tm:解碼後的時間分量結構:
    tm_sec (0-61), tm_min (0-59), tm_hour (0-23), tm_mday (1-31), tm_mon (0-11), tm_year (從1900年起), tm_wday (0-6), tm_yday (0-365), tm_isdst (夏令時標志)

關鍵函數族

  1. time(&timer):獲取當前編碼時間(time_t)。
  2. localtime(&timer):將 time_t 解碼為本地時間 struct tm*(返回靜態結構指針,每次調用覆蓋)。
  3. ctime(&timer):返回標準格式字符串指針(如 "Tue May 10 14:30:00 2024\n")。
  4. strftime(buf, size, format, tm):按用戶格式化輸出。常用格式符:
    %Y年 %m月 %d日 %H時 %M分 %S秒 %A星期名 %j年內天數等。

示例程序

#include <time.h>
#include <stdio.h>

int main() {
    time_t now = time(NULL);
    struct tm *local = localtime(&now);
    char buf[128];
    strftime(buf, sizeof(buf), "Today is %A, %Y-%m-%d %H:%M:%S", local);
    puts(buf);
    return 0;
}

輸出如:Today is Tuesday, 2024-05-10 14:30:00

注意事項

  • localtime 返回靜態結構,多線程環境下需用 localtime_r 或自行拷貝。
  • tm_year 為距 1900 年的偏移,顯示時需 +1900。
  • tm_mon 範圍 0-11,顯示月份需 +1。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved