Linux C :time
今天做自动对账程序,嘿嘿 需要取时间了。。。。分享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
光锥极客 2011/11/18 23:02:56 阅读量:3004