C语言如何调用系统时间

C语言如何调用系统时间,第1张

方法一,#include<time.h>

int main()

{

time_t timep

struct tm *p

time (&timep)

p=gmtime(&timep)

printf("%d\n",p->tm_sec)/*获取当前秒*/

printf("%d\n",p->tm_min)/*获取当前分*/

printf("%d\n",8+p->tm_hour)/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\n",p->tm_mday)/*获取当前月份日数,范围是1-31*/

printf("%d\n",1+p->tm_mon)/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\n",1900+p->tm_year)/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\n",p->tm_yday)/*从今年1月1日算起至今的天数,范围为0-365*/

}

方法二.#include <stdio.h>

#include <time.h>

int main ()

{

time_t t

struct tm * lt    time (&t)//获取Unix时间戳。

lt = localtime (&t)//转为时间结构。

printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday,

lt->tm_hour, lt->tm_min, lt->tm_sec)//输出结果

return 0}

扩展资料

1、CTimeSpan类

如果想计算两段时间的差值,可以使用CTimeSpan类,具体使用方法如下:

CTime t1( 1999, 3, 19, 22, 15, 0 )

CTime t = CTime::GetCurrentTime()

CTimeSpan span=t-t1//计算当前系统时间与时间t1的间隔

int iDay=span.GetDays()//获取这段时间间隔共有多少天

int iHour=span.GetTotalHours()//获取总共有多少小时

int iMin=span.GetTotalMinutes()//获取总共有多少分钟

int iSec=span.GetTotalSeconds()//获取总共有多少秒

2、timeb()函数

_timeb定义在SYS\TIMEB.H,有四个fields

dstflag

millitm

time

timezone

void _ftime( struct _timeb *timeptr )

struct _timeb timebuffer

_ftime( &timebuffer )

参考资料来源:百度百科:time函数

#include <stdio.h> 

#include <time.h> 

int main()

time_t rawtime 

struct tm * timeinfo 

time ( &rawtime ) 

timeinfo = localtime ( &rawtime ) 

printf ( "当前系统时间: %s", asctime (timeinfo) ) 

return 0

}

说明:

time_t // 时间类型(time.h 定义) 

struct tm { // 时间结构,time.h 定义如下: 

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 

time ( &rawtime )// 获取时间,以秒计,从1970年1月一日起算,存于rawtime 

localtime ( &rawtime )//转为当地时间,tm 时间结构 

asctime() // 转为标准ASCII时间格式: 

//就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon,从0计算,所以要加1


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11583503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存