Linux C获取系统时间

Linux C中获取系统日期和时间很简单.

只需要用到time.h中的相关函数即可

示例如下:

#include        <sys/time.h>

 

#define     CHECKDATE                        0

#define     CHECKTIME                        0

/*

利用系统自带的时间转换函数mktime来检验获取到的时间是否有效

返回 -1 表示失败

如果仅需要获得日期(年月日),则把宏CHECKDATE的值改为1

如果仅需要获得时间(时分秒),则把宏CHECKTIME的值改为1

*/

static        time_t

make_date( struct tm *Time )

{

         time_t      t;

 

#if CHECKDATE

         Time->tm_hour= 0;

         Time->tm_min= 0;

         Time->tm_sec= 0;

#elif CHECKTIME

         Time->tm_year= 0;

         Time->tm_mon= 0;

         Time->tm_mday= 0;

#endif

         if( ( t = mktime( Time ) ) == -1 )

                   fprintf(stderr, “无效的日期值\n” );

         returnt;

}

 

/*

一个静态的返回值是time_t类型的方法

返回 -1 表示失败

*/

static        time_t

get_date( )

{

         time_t      t;

         struct       tm    *v;

 

         if( ( t = time( NULL ) ) == -1 ) {

                   fprintf(stderr, “获取当前时间失败\n” );

                   return-1;

         }

         if( ( v = localtime( &t ) ) == NULL ) {

                   fprintf(stderr, “获取当前时间失败\n” );

                   return-1;

         }

         returnmake_date( &v );

}

 

int    main()

{

         time_t      t;

 

         if( ( t = get_date( ) ) == -1 )

                   return-1;

         printf(“获取时间成功\n” );

         return0;

}

你可能感兴趣的:(Linux C获取系统时间)