获取本地时间(Linux下,C语言)
一、函数
#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
原文地址:https://blog.csdn.net/qq_68495605/article/details/140540192
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!