当前位置:

Linux C :time

2011/11/18 23:02:56  作者:炉石    阅读:2788

今天做自动对账程序,嘿嘿 需要取时间了。。。。分享linux下C的time函数用法。

本人不是原创。感谢manPage。。奉行拿来主义。

#include <stdio.h>

#include <string.h>

#include <time.h>

 

void show_time(struct tm *t_info);

int main()

{

time_t t_secs; /*计数秒数*/

struct tm *t_info; /*数据元素:年月日时分秒等*/

char *t_str; /*不能使用数组名接收返回值*/

 

time(&t_secs);

 

printf("Function: ctime()\nReturn:UTC + 8 = Local Time\n");

t_str = ctime(&t_secs); /*参数是时间秒数, 返回日期字符串指针*/

printf("%s\n", t_str);

 

t_info = gmtime(&t_secs);

printf("Function: gmtime()\nReturn: UTC Time\n");

show_time(t_info);

 

t_str = asctime(t_info); /*ctime()不同在于参数*/

printf("Function: asctime(gmtime())\nReturn:UTC Time\n");

printf("%s\n", t_str);

 

t_info = localtime(&t_secs);

printf("Function: localtime()\nReturn: UTC + 8 = Local Time\n");

show_time(t_info);

 

t_str = asctime(t_info);

printf("Function: asctime(localtime())\nReturn:UTC + 8 = Local Time\n");

printf("%s\n", t_str);

 

return 0;

}

/*显示struct tm 中的数据元素的值 */

void show_time(struct tm *t_info)

{

char *wdays[] = {"Sun", "Mon", "Tue", "Wen", "Thu", "Fri", "Sat"};

printf("Date : %d-%d-%d ", t_info->tm_year+1900, t_info->tm_mon+1, t_info->tm_mday);

printf("%s ", wdays[t_info->tm_wday]);

printf("%d:%d:%d\n", t_info->tm_hour, t_info->tm_min, t_info->tm_sec);

printf("\n");

}

运行结果

图片

照片描述:linux c time