下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

详细解析Linux下时间函数的设置及获取的代码实例

作者:课课家教育     来源: http://www.kokojia.com点击数:975发布时间: 2016-02-23 13:54:28

标签: Linux时间Linux系统Linux

  本文将两个常用的Linux时间控制代码实例提供给大家,希望能对大家有所帮助!

详细解析Linux下时间函数的设置及获取的代码实例_Linux时间_Linux系统_Linux_课课家

  一、时间函数

  time_t time(time_t *t);

  char *asctime(const struct tm *tm);

  char *asctime_r(const struct tm *tm, char *buf);

  char *ctime(const time_t *timep);

  char *ctime_r(const time_t *timep, char *buf);

  struct tm *gmtime(const time_t *timep); //获取的为英国时间

  struct tm *gmtime_r(const time_t *timep, struct tm *result);

  struct tm *localtime(const time_t *timep); //获取的为本地时间,注意与英国时间的区别。

  struct tm *localtime_r(const time_t *timep, struct tm *result);

  time_t mktime(struct tm *tm);

  double difftime(time_t time1, time_t time0);

  int gettimeofday(struct timeval *tv, struct timezone *tz);

  int settimeofday(const struct timeval *tv , const struct timezone *tz);

  二、设置和获取时间

  #include

  #include

  int main(void)

  {

  time_t t1;

  time_t t2;

  struct tm *my_tm;

  char buf[128] = {0};

  //自Epoch (00:00:00 UTC, January 1,1970)的秒数

  t1 = time(&t1);

  printf("%d\\n", t1); //1355905754

  t2 = time(&t2);

  sleep(1);

  printf("%lf\\n", difftime(t2, t1)); //t1,t2相差:1.000000,有时候可以用这个函数来做伪定时器

  printf("%s\\n",ctime(&t1)); //Wed Dec 19 16:29:14 2012

  //init tm

  my_tm->tm_year = 2012-1900;

  my_tm->tm_mon = 12-1;

  my_tm->tm_mday = 12;

  my_tm->tm_hour = 12;

  my_tm->tm_min = 12;

  my_tm->tm_sec = 12;

  //设置时间

  t1 = mktime(my_tm);

  //获取时间

  my_tm = localtime(&t1);

  sprintf(buf, "%04d-%02d-%02d %02d:%02d:%02d",

  my_tm->tm_year + 1900, my_tm->tm_mon + 1, my_tm->tm_mday, my_tm->tm_hour, my_tm->tm_min, my_tm->tm_sec);

  printf("%s\\n", buf);//2012-12-12 12:12:12

  return 0;

  }

赞(18)
踩(4)
分享到:
华为认证网络工程师 HCIE直播课视频教程