本文主要详细介绍C语言时间函数的ctime()和gmtime()。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。
目录
ctime函数gmtime函数摘要函数原型如下:
_ _ CRT _ INLINE char * _ _ cdecl ctime(const Time _ t * _ Time);
_ _ CRT _ INLINE struct TM * _ _ cdecl gmtime(const Time _ t * _ Time);
ctime函数
ctime函数可以将当前时间值转换为字符串格式并返回。返回字符串的格式为:Www Mmm dd hh:mm:ss yyyy,其中Www表示一周中的某一天,Mmm用字母表示月份,dd表示一月中的某一天,hh:mm:ss表示时间,yyyy表示年份。
当前时间值需要通过time函数获取,1970年1月1日00: 00: 00到现在的秒数可以通过time函数获取。然后将这一秒作为参数传递给ctime函数,该函数将这一秒转换为当前时间格式的字符串并返回它。
这里有一个简单的例子来演示ctime函数的用法。
#包含stdio.h
#包含stdlib.h
#包含时间. h
int main(int argc,char** argv)
{
时间_t现在_时间;
时间(now _ time);
printf('%s ',ctime(now _ time));
返回0;
}
首先由ctime函数获取时间计数值,然后将计数值传入time函数,再由ctime函数打印出printf函数返回的字符串。程序运行结果如下:
gmtime函数
ctime函数是将日期和时间转换为格林威治标准时间(GMT)的函数。参数time引用的time_t结构中的信息被转换成现实世界中使用的时间和日期表示方法,然后由结构tm返回结果。
这个理解起来有点抽象。这里,gmtime函数的用法通过代码直接演示。
gmtime
结构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到11 */
int tm _ year/*自1900年以来的年数*/
int tm _ wday/*星期几,范围从0到6 */
int tm _ yday/*一年中的第几天,范围从0到365 */
int tm _ isdst/*夏令时*/
};
这个时间结构的定义在头文件time.h中
#包含stdio.h
#包含stdlib.h
#包含时间. h
int main(int argc,char** argv)
{
char *wday[]={ '星期日','星期一','星期二','星期三','星期四','星期五','星期六' };
time_t时间;
struct TM * p;
时间(时间单位);
p=gmtime(时间单位);/*获取当前系统时间*/
Printf('%d,d,d ',(1900p-tm _ year),(1p-tm _ mon),p-TM _ mday);
printf(' % s d:d:d\n',wday[p-tm_wday],(p-tm_hour 8),p-tm_min,p-TM _ sec);
返回0;
}
时间结构信息如下:
这里需要注意的是,系统返回的年数是从1900开始计算的,所以在打印年份的时候记得在年值上加1900。
通过上面两个函数对吧?可以看出,系统运行结果如下:函数得到的时间格式是字符串的形式,ctime函数得到的时间格式是结构的形式。在程序中根据自己的需要选择调用不同的函数。
总结
本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。