
1、C语言中读取系统时间的函数为time(),其函数原型为:
#include <timeh>
time_t time( time_t ) ;
time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。
2、C语言还提供了将秒数转换成相应的时间格式的函数:
char ctime(const time_t timer); //将日历时间转换成本地时间,返回转换后的字符串指针 可定义字符串或是字符指针来接收返回值
struct tm gmtime(const time_t timer); //将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针 可定义struct tm 变量来接收结果
struct tm localtime(const time_t timer); //将日历时间转化为本地时间,返回结构体指针 可定义struct tm 变量来接收结果
3、例程:
#include <timeh>
void main()
{
time_t t;
struct tm pt ;
char pc ;
time(&t);
pc=ctime(&t) ; printf("ctime:%s", pc );
pt=localtime(&t) ; printf("year=%d", pt->tm_year+1900 );
}
时间结构体struct tm 说明:
struct tm {
int tm_sec; / 秒 – 取值区间为[0,59] /
int tm_min; / 分 - 取值区间为[0,59] /
int tm_hour; / 时 - 取值区间为[0,23] /
int tm_mday; / 一个月中的日期 - 取值区间为[1,31] /
int tm_mon; / 月份(从一月开始,0代表一月) - 取值区间为[0,11] /
int tm_year; / 年份,其值等于实际年份减去1900 /
int tm_wday; / 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 /
int tm_yday; / 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 /
int tm_isdst; / 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。/
};
#include <timeh>
#include <stdioh>
int main( void )
{
time_t t = time(0);
int year,month,day,hour,miniute,second; //年月日时分秒都存在这里
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y %m %d %X %A %j %z",localtime(&t) );
sscanf(tmp,"%d%d%d%d:%d:%d",&year,&month,&day,&hour,&miniute,&second);
printf("%d/%d/%d %d:%d:%d\n",year,month,day,hour,miniute,second); //测试结果
return 0;
}
用mktime()函数。
表头文件:#include <timeh>
定义函数:time_tmktime(structtmtimeptr);
函数说明:mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数。
返回值:返回经过的秒数。
扩展资料:
C语言参考函数
C语言isgraph()函数:判断一个字符是否是图形字符
C语言isdigit()函数:判断一个字符是否为数字
C语言iscntrl()函数:判断一个字符是否为控制字符
C语言isalpha()函数:判断一个字符是否是字母
C语言isalnum()函数:判断一个字符是否是字母或者数字
C语言pow()函数:求x的y次方的值
C语言frexp()函数:提取浮点数的尾数和指数部分
参考资料来源:百度百科-mktime
参考资料来源:百度百科-c语言
以上就是关于c语言获取系统当前时间的函数,求讲解全部的内容,包括:c语言获取系统当前时间的函数,求讲解、c语言,怎么获取系统时间呢,如果我想以秒输出呢或者我想以标准形式输出呢、c语言怎么将一个年月日转换成秒数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)