函数C 中于获取当前时间的函数

当前时间  时间:2021-01-31  阅读:()

asctime将时间和

日期以字符串格式

表示

相关函数time ctime gmtime localtime

表头文件#include<time.h>

定义函数char * asctime(const struct tm * timeptr) ;

函数说明asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法然后将结果以字符串形态返回。此函数已经由时区转换成当地时间字符串格式为: “Wed Jun 30 21:49:08 1993\n”

返回值若再调用相关的时间日期函数此字符串可能会被破坏。此函数与ctime不同处在于传入的参数是不同的结构。

附加说明返回一字符串表示目前当地的时间日期。

范例#include <time.h>main()

{time_t timep;time (&timep) ;printf( “%s” ,asctime(gmtime(&timep) )) ;

}

执行Sat Oct 28 02: 10:06 2000c t i me 将时间和日期以字符串格式表示

相关函数time asctime gmtime localtime

表头文件#include<time.h>

定义函数char *ctime(const time_t *timep) ;

函数说明ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法然后将结果以字符串形态返回。此函数已经由时区转换成当地时间字符串格式为“Wed Jun 30 21 :49 :08 1993\n” 。若再调用相关的时间日期函数此字符串可能会被破坏。

返回值返回一字符串表示目前当地的时间日期。

范例#include<time.h>main()

{time_t timep;time (&timep) ;printf( “%s” , ctime(&timep) ) ;

}

执行Sat Oct 28 10 : 12 : 05 2000

gettimeofday 取得目前的时间

相关函数time ctime ftime settimeofday

表头文件#include <sys/time.h>

#include <unistd.h>

定义函数int gettimeofday ( struct timeval * tv , struct timezone * tz )函数说明gettimeofday()会把目前的时间有tv所指的结构返回当地时区的信息则放到tz所指的结构中。timeval结构定义为:struct timeval {long tv_sec; /*秒*/long tv_usec; /*微秒*/

} ;timezone结构定义为:struct timezone{int tz_minuteswest; /*和Greenwich时间差了多少分钟*/int tz_dsttime; /*日光节约时间的状态*/

} ;

上述两个结构都定义在/usr/include/sys/time.h。 tz_dsttime所代表的状态如下

DST_NONE /*不使用*/

DST_USA /*美国*/

DST_AUST /*澳洲*/

DST_WET /*西欧*/

DST_MET /*中欧*/

DST_EET /*东欧*/

DST_CAN /*加拿大*/

DST_GB /*大不列颠*/

DST_RUM /*罗马尼亚*/

DST_TUR /*土耳其*/

DST_AUSTALT /*澳洲1986年以后 */

返回值成功则返回0失败返回1错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。

范例#include<sys/time.h>

#include<unistd.h>main() {struct timeval tv;struct timezone tz;gettimeofday (&tv , &tz) ;printf( “tv_sec; %d\n” , tv, . tv_sec) ;printf( “tv_usec; %d\n” ,tv.tv_usec) ;printf( “tz_minuteswest; %d\n” , tz. tz_minuteswest) ;

printf( “tz_dsttime, %d\n” ,tz.tz_dsttime) ;

}

执行tv_sec: 974857339tv_usec: 136996tz_minuteswest:-540tz_dsttime:0

gmtime 取得目前时间和日期

相关函数time,asctime,ctime, localtime

表头文件#include<time.h>

定义函数struct tm*gmtime(const time_t*timep) ;

函数说明gmtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法然后将结果由结构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-59int tm_hour从午夜算起的时数范围为0-23int tm_mday 目前月份的日数范围01-31int tm_mon代表目前月份从一月算起范围从0-11int tm_year从1900年算起至今的年数int tm_wday一星期的日数从星期一算起范围为0-6int tm_yday从今年1月1日算起至今的天数范围为0-365int tm_isdst 日光节约时间的旗标

此函数返回的时间日期未经时区转换而是UTC时间。

返回值返回结构tm代表目前UTC时间

范例#include <time.h>main() {c har *wday[]={"Sun", "Mo n", "Tu e", "We d", "Thu", "Fr i", "S at"} ;

time_t timep;struct tm *p;time(&timep) ;p=gmt i me(&t i mep) ;printf( “%d%d%d” , (1900+p->tm_year) , (1+p->tm_mon) ,p->tm_mday) ;printf( “%s%d;%d;%d\n” , wday[p->tm_wday] , p->tm_hour, p->tm_min,p->tm_sec) ;

}

执行2000/10/28 Sat 8: 15:38localtime 取得当地目前时间和日期

相关函数time, asctime, ctime, gmtime

表头文件#include<time.h>

定义函数struct tm *localtime(const time_t * timep) ;

函数说明localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法然后将结果由结构tm返回。结构tm的定义请参考gmtime() 。此函数返回的时间日期已经转换成当地时区。

返回值返回结构tm代表目前的当地时间。

范例#include<time.h>main() {char

*wday[]={ “Sun” , ” Mon” , ” Tue” , ” Wed” , ” Thu” , ” Fri” , ” Sat” } ;time_t timep;struct tm *p;time(&timep) ;p=localtime(&timep) ; /*取得当地时间*/printf ( “%d%d%d ” , (1900+p->tm_year) , ( l+p->tm_mon) , p->tm_mday) ;printf( “%s%d:%d:%d\n” , wday[p->tm_wday] ,p->tm_hour, p->tm_min,p->tm_sec) ;

}

执行2000/10/28 Sat 11 : 12:22mktime 将时间结构数据转换成经过的秒数

相关函数time asctime gmtime localtime

表头文件#include<time.h>

定义函数time_t mktime(strcut tm * timeptr) ;

函数说明mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月

1日0时0分0秒算起至今的UTC时间所经过的秒数。

返回值返回经过的秒数。

范例/*用time()取得时间秒数 利用localtime()

转换成struct tm再利用mktine  将struct tm转换成原来的秒数*/#include<time.h>main()

{time_t timep;strcut tm *p;time(&timep) ;printf( “time() : %d \n” , timep) ;p=localtime(&timep) ;t imep = mkt ime(p) ;printf( “time()->localtime()->mktime() :%d\n” ,timep) ;

}

执行time() :974943297time()->localtime()->mktime() :974943297settimeofday 设置目前时间

相关函数time ctime ftime gettimeofday

表头文件#include<sys/time.h>

#include<unistd.h>

定义函数int settimeofday ( const struct timeval *tv, const struct timezone

*tz) ;

函数说明settimeofday()会把目前时间设成由tv所指的结构信息当地时区信息则设成tz所指的结构。详细的说明请参考gettimeofday() 。注意只有root权限才能使用此函数修改时间。

返回值成功则返回0失败返回1错误代码存于errno。

错误代码EPERM并非由root权限调用settimeofday   权限不够。

EINVAL时区或某个数据是不正确的无法正确设置时间。time 取得目前的时间

相关函数ctime ftime gettimeofday

表头文件#include<time.h>

定义函数time_t time(time_t *t) ;

函数说明此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t并非空指针的话此函数也会将返回值存到t指针所

指的内存。

返回值成功则返回秒数失败则返回( (time_t)-1)值错误原因存于errno中。范例#include<time.h>mian()

{int seconds= time( (time_t*)NULL) ;printf( “%d\n” , seconds) ;

}

执行9. 73E+08

新加坡云服务器 1核2Gg 46元/月 香港云服务器 1核2G 74元/月 LightNode

LightNode是一家成立于2002年,总部位于香港的VPS服务商。提供基于KVM虚拟化技术.支持CentOS、Ubuntu或者Windows等操作系统。公司名:厦门靠谱云股份有限公司官方网站:https://www.lightnode.com拥有高质量香港CN2 GIA与东南亚节点(河内、曼谷、迪拜等)。最低月付7.71美金,按时付费,可随时取消。灵活满足开发建站、游戏应用、外贸电商等需求。首...

免费注册宝塔面板账户赠送价值3188礼包适合购买抵扣折扣

对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...

CloudCone(1.99美元),可以额外选择Voxility高防IP

CloudCone 商家也是比较有特点的,和我们熟悉的DO、Vultr、Linode商家均是可以随时删除机器开通的小时计费模式。这个对于有需要短租服务器的来说是比较有性价比的。但是,他们还有一个缺点就是机房比较少,不同于上面几个小时计费服务商可以有多机房可选,如果有这个多机房方案的话,应该更有特点。这次我们可以看到CloudCone闪购活动提供洛杉矶三个促销方案,低至月付1.99美元。商家也可以随...

当前时间为你推荐
海贼王644集海贼王巴托洛米奥是路飞的忠实粉丝,638集他和贝拉米打的时候路飞给贝拉米加油他知道嘛?最后他说烧烧视频制作软件哪个好哪款视频编辑软件比较好用?视频制作软件哪个好手机短视频制作哪个软件好电脑杀毒软件哪个好电脑杀毒用哪个好?浮动利率和固定利率哪个好银行贷款是选固定利率好还是浮动利率核芯显卡与独立显卡哪个好英特尔核芯显卡怎么样?和独立显卡那个更好?车险哪个好人保和平安车险哪个好p图软件哪个好有什么P图工具比较好用空间登录qq如何在空间里登陆qq电信10000宽带测速怎样测试电信宽带的网速? 771212
windows虚拟主机 申请免费域名 5折 香港托管 unsplash 远程登陆工具 圣诞节促销 国内php空间 免费全能空间 国外在线代理 165邮箱 web服务器的架设 789电视网 国外代理服务器地址 中国电信宽带测速网 支持外链的相册 服务器硬件防火墙 个人免费主页 免费mysql数据库 英雄联盟台服官网 更多