函数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

ThomasHost(月付5美元)美国/法国/英国/加拿大KVM,支持Windows

ThomasHost域名注册自2012年,部落最早分享始于2016年,还算成立了有几年了,商家提供基于KVM架构的VPS,数据中心包括美国、法国、英国、加拿大和爱尔兰等6个地区机房,VPS主机套餐最低2GB内存起步,支持Windows或者Linux操作系统,1Gbps端口不限制流量。最近商家提供了一个5折优惠码,优惠后最低套餐月付5美元起。下面列出部分套餐配置信息。CPU:1core内存:2GB硬...

Pia云服务商春节6.66折 美国洛杉矶/中国香港/俄罗斯和深圳机房

Pia云这个商家的云服务器在前面也有介绍过几次,从价格上确实比较便宜。我们可以看到最低云服务器低至月付20元,服务器均采用KVM虚拟架构技术,数据中心包括美国洛杉矶、中国香港、俄罗斯和深圳地区,这次春节活动商家的活动力度比较大推出出全场6.66折,如果我们有需要可以体验。初次体验的记得月付方案,如果合适再续约。pia云春节活动优惠券:piayun-2022 Pia云服务商官方网站我们一起看看这次活...

香港E3-1230v2 16GB 30M 326元/月 数脉科技

官方网站:https://www.shuhost.com/公司名:LucidaCloud Limited尊敬的新老客户:艰难的2021年即将结束,年终辞旧迎新之际,我们准备了持续优惠、及首月优惠,为中小企业及个人客户降低IT业务成本。我们将持续努力提供给客户更好的品质与服务,在新的一年期待与您有美好的合作。# 下列价钱首月八折优惠码: 20211280OFF (每客户限用1次) * 自助购买可复制...

当前时间为你推荐
天玑1000plus和骁龙865哪个好哪种5G手机是联发科天玑1000芯片?锦天城和君合哪个好和君智业和三人禾哪个公司的营销做的好杀毒软件哪个好杀毒软件哪个好用录屏软件哪个好手机录屏的话那个软件会好一点传奇类手游哪个好什么传奇类手游好玩不坑钱?电动牙刷哪个好电动牙刷和普通牙刷哪个好,有何区别?行车记录仪哪个好请问行车记录仪那个牌子好?清理手机垃圾软件哪个好手机垃圾清理软件哪个好美国国际东西方大学明尼苏达大学(是莫瑞斯分校)和美国东北大学 应该去哪一个 是这个方面的专家回答啊!有偏见性的不要说!yy空间登录yy空间怎么上传照片?
企业虚拟主机 过期域名查询 汉邦高科域名申请 新秒杀 payoneer 100m免费空间 美国在线代理服务器 33456 如何注册阿里云邮箱 免费的域名 测试网速命令 卡巴斯基官网下载 双11促销 时间服务器 优惠服务器 服务器机柜 连连支付 德国代理ip shuangshiyi 神棍节 更多