一、函数
#include <time.h>
time_t time(time_t *tloc);函数功能:获取本机时间(以秒数存储,从1970年1月1日0:0:0开始到现在)。返回值:获得的秒数,如果形参非空,返回值也可以通过传址调用的形式返回。
#include <time.h>
struct tm *localtime(const time_t *timep);
函数功能:将timep(时间戳变量)转成认识的结果,将结果封装成struct tm类型的结构体
返回值:返回struct tm类型的结构体指针
struct tm {int tm_sec; /* Seconds (0-60) */int tm_min; /* Minutes (0-59) */int tm_hour; /* Hours (0-23) */int tm_mday; /* Day of the month (1-31) */int tm_mon; /* Month (0-11) */int tm_year; /* Year - 1900 */int tm_wday; /* Day of the week (0-6, Sunday = 0) */int tm_yday; /* Day in the year (0-365, 1 Jan = 0) */int tm_isdst; /* Daylight saving time */
};
二、源码
xxx.c
#include <stdio.h>
#include <time.h>
int main(void)
{// 指向结构体tm的指针,用于存储本地时间struct tm *pltm = NULL;// 时间戳变量,用于存储当前时间time_t tm_1 = 0;// 指向时间戳的指针time_t *ptm = NULL;// 打开文件time.txt用于写入FILE *pw = fopen("time.txt", "w");// 检查文件是否成功打开if(pw == NULL){// 如果打开失败,打印错误信息并返回失败状态perror("fopen");return -1;}// 获取当前时间ptm = &tm_1;time(ptm);pltm = localtime(ptm);// 将当前时间以特定格式写入到文件中fprintf(pw, "year:%d, month:%d, day:%d, hour:%d, min:%d, sec:%d\n",pltm->tm_year + 1900, pltm->tm_mon + 1, pltm->tm_mday,pltm->tm_hour, pltm->tm_min, pltm->tm_sec);// 以yyyy-mm-dd-hh:mm:ss的格式写入当前时间fprintf(pw, "%d-%d-%d-%d:%d:%d\n", pltm->tm_year + 1900, pltm->tm_mon + 1, pltm->tm_mday,pltm->tm_hour,pltm->tm_min, pltm->tm_sec);// 关闭文件fclose(pw);return 0;
}
三、结果演示
四、源码下载
链接:https://pan.baidu.com/s/1kcMN_4Nnp-jrYEaMtrlA5w
提取码:11dz