C语言有2个获取时间的函数,分别是time()和localtime(),time()函数返回unix时间戳-即从1970年1月1日0:00开始所经过得秒数,而localtime()函数则是将这个秒数转化为当地的具体时间(年月日时分秒)
这里时间转化要用到一个“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日 /
int tm_isdst; / 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 /
};
示例代码:
#include<stdioh>
#include<timeh>
int getTime()
{
time_t t; //保存unix时间戳的变量 ,长整型
struct tm lt; //保存当地具体时间的变量
int p;
time(&t); // 等价于 t =time(NULL);获取时间戳
lt = localtime(&t); //转化为当地时间
p = lt->tm_sec; //将秒数赋值给p
return p;
}
应该就是这样啦~
c++使用
头文件
timeh
,c使用ctime,具体使用方法搜一下
函数
sturct
tm
localtime(const
time_t
time)来获得本地时间
本
程序
既输出系统的本地时间
#include<timeh>
#include<stdioh>
int
main(void)
{
struct
tm
local;
time_t
t;
t=time(NULL);
local=localtime(&t);
printf("local
time
and
date:%s\n",asctime(local));
return
0;
}
几个常用的时间函数
time()//取得系统时间
gmtime()//转换成国标标准之间
localtime()//转换成本地时间
asctime()//转换成字符形式
ctime()//转换成字符形式
strftime()//类似于printf()
#include
#include
void
main()
{
time_t
ltime;
struct
tm
today;
time(
<ime
);
today
=
localtime(
<ime
);
printf("%04d-%02d-%02d
%02d:%02d:%02d\n",1900+today->tm_year,today->tm_mon+1,today->tm_mday,today->tm_hour,today->tm_min,today->tm_sec);
}
先调用time获得当前时间,这是个从1970-1-1午夜0点开始的秒数,然后调用localtime将该时间专为本地时间就可以打印了。其中tm_year需要加上1900,tm_mon需要加上1,看printf你就明白了。
#include <stdioh>
#include <timeh>
int main( )
{
time_t nowtime;
struct tm timeinfo;
time( &nowtime );
timeinfo = localtime( &nowtime );
int year, month, day;
year = timeinfo->tm_year + 1900;
month = timeinfo->tm_mon + 1;
day = timeinfo->tm_mday;
printf("%d %d %d\n", year, month, day);
return 0;
}
以上就是关于C语言如何获取本地时间,然后取时、分、秒的值全部的内容,包括:C语言如何获取本地时间,然后取时、分、秒的值、怎么用C语言来获得系统时间、c语言如何获取系统时间并将时间储存在字符串里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)