加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言中读取时间日期的基本方法

发布时间:2020-12-16 03:03:46 所属栏目:百科 来源:网络整理
导读:C语言time()函数:获取当前时间(以秒数表示) 头文件: #include time.h 定义函数: time_t time(time_t *t); 函数说明:此函数会返回从公元 1970 年1 月1 日的UTC 时间从0 时0 分0 秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t

C语言time()函数:获取当前时间(以秒数表示)
头文件:

#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>
main(){
  int seconds = time((time_t*)NULL);
  printf("%dn",seconds);
}

执行结果:

9.73E+08

C语言gmtime()函数:获取当前时间和日期
头文件:

#include <time.h>

定义函数:

struct tm *gmtime(const time_t *timep);

函数说明:gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm 返回。

结构tm 的定义为

struct tm{
  int tm_sec; //代表目前秒数,正常范围为0-59,但允许至61 秒
  int tm_min; //代表目前分数,范围0-59
  int tm_hour; //从午夜算起的时数,范围为0-23
  int tm_mday; //目前月份的日数,范围01-31
  int tm_mon; //代表目前月份,从一月算起,范围从0-11
  int tm_year; //从1900 年算起至今的年数
  int tm_wday; //一星期的日数,从星期一算起,范围为0-6
  int tm_yday; //从今年1 月1 日算起至今的天数,范围为0-365
  int tm_isdst; //日光节约时间的旗标
};

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

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

范例

#include <time.h>
main(){
  char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
  time_t timep;
  struct tm *p;
  time(&timep);
  p = gmtime(&timep);
  printf("%d%d%d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
  printf("%s%d;%d;%dn",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);
}

执行结果:

2000/10/28 Sat 8:15:38

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读