当前位置:首页 > CN2资讯 > 正文内容

linux timeshift 沾满了 linux time()

3天前CN2资讯


 time() 函数语法如下:

所需头文件

#include <time.h>

函数原型

time_t time(time_t * timer)

参数说明

timer=NULL时得到机器日历时间;

timer=时间数值时,用于设置日历时间;

函数返回值

机器日历时间

      功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型。

     struct 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; };

补充说明:time函数的原型也可以理解为 long time(long *tloc),即返回一个long型整数。因为在time.h这个头文件中time_t 实际上就是:

#ifndef _TIME_T_DEFINED #define _TIME_T_DEFINED /* avoid multiple defines of time_t */    typedef long time_t; /* time value */ #endif



函数应用举例

程序例1

         time函数获得日历时间。日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。

#include <time.h> #include <stdio.h> int main(void) { time_t t; <span > </span>t = time(NULL);    printf("The number of seconds since January 1, 1970 is %ld",t); return 0; }

执行结果如下:

fs@ubuntu:~/qiang/time$ ./time1 The number of seconds since January 1, 1970 is 1452345470 fs@ubuntu:~/qiang/time$



程序例2:

         time函数也常用于随机数的生成,用日历时间作为种子。

#include <stdio.h> #include <time.h> #include<stdlib.h> int main(void) { int i; srand((unsigned) time(NULL)); printf("ten random numbers from 0 to 99:\n"); for(i = 0;i < 10;i++) { printf("%d\n",rand()%100); } return 0; }

执行结果如下:

fs@ubuntu:~/qiang/time$ ./time2 ten random numbers from 0 to 99: 22 0 58 7 29 90 74 7 95 55 fs@ubuntu:~/qiang/time$



程序例3:

        用time() 函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间

1)localtime() 函数

        函数功能:返回一个以tm结构表达的机器时间信息;

所需头文件

#include <time.h>

函数原型

struct tm *localtime(const time_t *timep)

参数说明

timerp为time(NULL)获得的日历时间;

函数返回值

 以tm结构表达的时间;

使用示例:

#include <time.h> #include <stdio.h> int main() { time_t timer; struct tm *tblock; timer = time(NULL); tblock = localtime(&timer); printf("Local time is: %s",asctime(tblock)); return 0; }

执行结果如下:

fs@ubuntu:~/qiang/time$ ./localtime Local time is: Sat Jan 9 21:37:13 2016 fs@ubuntu:~/qiang/time$



2)asctime() 函数

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

所需头文件

#include <time.h>

函数原型

 char *asctime(struct tm  *ptr)

参数说明

ptr 为 struct tm 类型的时间结构体

函数返回值

返回的时间字符串格式为:星期,月,日,小时:分:秒,年


示例如下:

#include <stdio.h> #include <string.h> #include <time.h> int main() { struct tm t; char str[80]; t.tm_sec = 1; t.tm_min = 3; t.tm_hour = 7; t.tm_mday = 22; t.tm_mon = 11; t.tm_year = 56; t.tm_wday = 4; t.tm_yday = 0; t.tm_isdst = 0; strcpy(str,asctime(&t)); printf("%s",str); return 0; }

执行结果如下:

fs@ubuntu:~/qiang/time$ ./asctime Thu Dec 22 07:03:01 1956 fs@ubuntu:~/qiang/time$



3)ctime() 函数

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

所需头文件

#include <time.h>

函数原型

char *ctime(const time_t *timep);

参数说明

timep 是由 time(NULL) 得到的日历时间;

函数返回值

返回字符串格式:星期,月,日,小时:分:秒,年

示例如下:

#include <stdio.h> #include <time.h> int main() { time_t t; time(&t); printf("Today's date and time: %s",ctime(&t)); return 0; }

执行结果如下:

fs@ubuntu:~/qiang/time$ ./ctime Today's date and time: Sat Jan 9 21:53:51 2016 fs@ubuntu:~/qiang/time$




    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25937.html

    分享给朋友:

    “linux timeshift 沾满了 linux time()” 的相关文章

    QQ邮箱服务器完全指南:配置、安全性与优化技巧

    QQ邮箱服务器概述 QQ邮箱是由腾讯公司推出的一款广受欢迎的电子邮件服务。它的优势不仅在于强大的存储容量,还有丰富的功能,适合个人和企业用户使用。很多人都习惯使用QQ邮箱来发送、接收邮件,因此有必要了解其背后的邮件服务器。 在我使用QQ邮箱的过程中,发现它使用的是腾讯自家搭建的邮件服务器。这些服务器...

    获取国外动态IP服务的指南与优势

    在当今互联网的世界中,动态IP(Dynamic IP)逐渐成为了一个重要的概念。它指的是由互联网服务提供商(ISP)动态分配的、可变的IP地址。与固定不变的静态IP相比,每次连接互联网时,动态IP都可能发生变化。这种灵活性不仅高效利用了IP资源,还在多个领域产生了实际应用的优势。 动态IP的特点非常...

    RFCHOST评论:高性能VPS与流媒体解锁的完美选择

    RFCHOST概述 RFCHOST是一家自2015年成立的公司,隶属于上海花卷科技。作为一家新兴的网络服务企业,RFCHOST专注于提供国际线路深层挖掘与构造网络通信服务的一体化解决方案。我一直关注着这个快速发展的品牌,尤其是它在香港和洛杉矶VPS业务上的持续投入与创新。 随着全球数字化进程的加速,...

    阿里云新用户优惠活动详解:如何高效利用云服务

    作为阿里云的新用户,我感到兴奋,因为阿里云为像我这样的新手提供了许多优惠和服务,让我能轻松地体验云产品。首先,我们来聊聊什么是阿里云新用户。简单来说,阿里云会通过是否购买过云产品来判断我是否是新用户,而并非仅仅看注册时间。这意味着,只要我没有购买过云服务,就能享受到新用户的特权。 新用户的权益和优惠...

    选择最佳VPS主机服务:Digital-VM全面解析与性能优化策略

    谈到 Digital-VM,我总会被它的成长故事所吸引。这家主机商成立于2018年,致力于为用户提供高效、灵活的VPS主机解决方案。作为一家美国公司,它在短时间内就扩大了服务范围,减少了用户在选择主机服务时的焦虑。Digital-VM 看似是一颗新星,却在竞争激烈的市场中脱颖而出,令人刮目相看。 在...

    如何有效购买和使用代理IP服务,满足多种需求 - IP够卖指南

    在我们开始讨论“IP够卖”的购买与应用流程之前,理解购买渠道的多样性非常重要。很多人可能会问,究竟从哪里可以获取到合适的代理IP?实际上,有几种渠道可以选择,适合不同需求的用户。 首先,专业代理服务商无疑是最推荐的选择。这类服务商通常提供稳定且高质量的代理服务,能满足诸多使用场景,比如数据爬虫、电商...