linux时间(一 获取系统时间)

本文介绍如何使用C语言获取系统时间,并将时间戳转换为人类可读的形式。通过使用time.h头文件中的函数,可以获取从1900年1月1日至今的秒数,并进一步解析为具体的年月日时分秒。

/****************

获取系统时间

****************/

   #include<time.h>

    time_t time(NULL);

    返回从1900年1月一日0时0分0秒 到现在的秒数.

 

    可以用time返回的值换算成年月日时分等用户友好的表示方法。

    time有一个结构 struct tm,用于保存当前的日期。

     结构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;

  };

  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 日光节约时间的旗标

      使用函数 struct tm * gtime(time_t * time)

      该函数返回格林威治时间。

 

       使用函数 struct tm * localtime(time_t * time)

       获取当前时间时区的时间

 

 

  例如下面这个函数

 

//读取系统时间

extern int set_read_time_bgstage( int set_time[])

{

   time_t t;

   struct tm * current_time;

   tzset();//设置时区

 

   t = time(NULL);

   if (t < 0)

   {

       printf("in set_read_time_bgstage: set time error/n");

  return -1;

   }

 

   //获取当前时间

   current_time = localtime(&t);

   if (current_time == NULL)

   {

       printf("in set_read_time_bgstage: localtime error/n");

  return -1;

   }

 

   set_time[0] = current_time->tm_year + 1900;

   set_time[1] = current_time->tm_mon + 1;

   set_time[2] = current_time->tm_mday;

   set_time[3] = current_time->tm_hour;

   set_time[4] = current_time->tm_min;

 

   return 0;

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值