獲取系統時間

52017發表於2024-05-10

目錄
  • 獲取系統時間函式介面
    • 介面檔案介紹
    • 庫函式
    • 函式介紹
    • 主函式

獲取系統時間函式介面

介面檔案介紹

/*******************************************************************
 * file name: Gettime.c
 * author   : 17666589210@163.com
 * date     : 2024-05-09
 * function : Get the system time and write it to the text
 * note     : None
 * CopyRight (c)   2024  17666589210@163.com  Right Reseverd
 *
 *******************************************************************/

庫函式

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

函式介紹

/*******************************************************************
 *
 *	函式名稱:	WeekdayChinese
 *	函式功能:   將獲取的阿拉伯數字轉換為中文數字
 * 	函式引數:	
 *              @tm_wday 獲取的整型數值
 *              
 *              @str     該指標儲存字串
 *	返回結果:
 *				@char*	 返回字串指標
 *	注意事項:   None
 *	函式作者:   17666589210@163.com
 *	建立日期:   2024/05/09
 *	修改歷史:
 *	函式版本:	V1.0
 *******************************************************************/
char* WeekdayChinese(int tm_wday,char *str)
{
    switch (tm_wday)
    {
        case 1: str="一";   break;
        case 2: str="二";   break;
        case 3: str="三";   break;
        case 4: str="四";   break;
        case 5: str="五";   break;
        case 6: str="六";   break;
        case 0: str="天";   break;
    }
    return str;
}

主函式

int main()
{
    char *str;//定義指標接收中文符號
    FILE * log = fopen("log.txt","ab");//有檔案則寫入,無檔案則建立log.txt
    if(NULL==log)//開啟檔案是否失敗
    {
        printf("Cannot open the file...");
        exit(1);
    }
    while(1)
    {
        time_t current_time = time(NULL); //呼叫函式獲取時間單位為(s)秒
        struct tm *local = localtime(&current_time);//該函式會自動計算time獲取的時間
        fprintf(log,"%d年%02d月%02d日 星期%s %d:%d:%d\n", 
                local->tm_year + 1900, 
                local->tm_mon + 1, 
                local->tm_mday,
                WeekdayChinese(local->tm_wday,str),
                local->tm_hour,
                local->tm_min,
                local->tm_sec                          );
        fflush(log);//輸出並重新整理緩衝區
        sleep(1);//延時一秒
    }
    fclose(log);//關閉檔案
    return 0;
}

相關文章