关闭

Linux常用C函数 日期时间篇

发表于:2010-3-19 10:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  mktime(将时间结构数据转换成经过的秒数)

  相关函数  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);
  timep = mktime(p);
  printf(“time()->localtime()->mktime():%d\n”,timep);
}

  执行  time():974943297

  time()->localtime()->mktime():974943297

  settimeofday(设置目前时间)

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

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号