/****************
获取系统时间
****************/
#include<time.h>
time_t time(NULL);
返回从1900年1月一日0时0分0秒 到现在的秒数.
可以用time返回的值换算成年月日时分等用户友好的表示方法。
time有一个结构 struct tm,用于保存当前的日期。
结构tm的定义为
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
int tm_sec 代表目前秒数,正常范围为0-59,但允许至61秒
int tm_min 代表目前分数,范围0-59
int tm_hour 从午夜算起的时数,范围为0-23
int tm_mday 目前月份的日数,范围01-31
int tm_mon 代表目前月份,从一月算起,范围从0-11
int tm_year 从1900 年算起至今的年数
int tm_wday 一星期的日数,从星期一算起,范围为0-6
int tm_yday 从今年1月1日算起至今的天数,范围为0-365
int tm_isdst 日光节约时间的旗标
使用函数 struct tm * gtime(time_t * time)
该函数返回格林威治时间。
使用函数 struct tm * localtime(time_t * time)
获取当前时间时区的时间
例如下面这个函数
//读取系统时间
extern int set_read_time_bgstage( int set_time[])
{
time_t t;
struct tm * current_time;
tzset();//设置时区
t = time(NULL);
if (t < 0)
{
printf("in set_read_time_bgstage: set time error/n");
return -1;
}
//获取当前时间
current_time = localtime(&t);
if (current_time == NULL)
{
printf("in set_read_time_bgstage: localtime error/n");
return -1;
}
set_time[0] = current_time->tm_year + 1900;
set_time[1] = current_time->tm_mon + 1;
set_time[2] = current_time->tm_mday;
set_time[3] = current_time->tm_hour;
set_time[4] = current_time->tm_min;
return 0;
}
本文介绍如何使用C语言获取系统时间,并将时间戳转换为人类可读的形式。通过使用time.h头文件中的函数,可以获取从1900年1月1日至今的秒数,并进一步解析为具体的年月日时分秒。
2321

被折叠的 条评论
为什么被折叠?



