#include <stdio.h>
#include <time.h>
#include <sys/time.h>
//typedef long time_t;
int main(void)
{
time_t ret,tt;
//time()功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个
//大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00
//:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime将
//time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成
//struct tm类型,该类型的各数据成员分别表示年月日时分秒。
//ret=time(NULL);
ret=time(&tt);
printf("ret:%ld tt:%d\n",ret,tt);
//
struct tm *tm;
tm=localtime(&tt);
printf("year:%d month:%d day:%d %02d:%02d:%02d\n",tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec);
//
printf("time string:%s\n",asctime(tm));//转换为字符串
//
char buf[128];
strftime(buf,128,"this is my time:%F %H:",tm);//将tm 转换为%F %H %M成相应的字符串,存储到buf里;
printf("buf>>>>%s\n",buf);
//struct timeval{
// long tv_sec;/*秒*/
// long tv_usec;/*微妙*/
//};
struct timeval timeval;
//NULL:表示当前时区(唯一合法值)
gettimeofday(&timeval,NULL);
printf("sec:%ld usec:%ld\n",timeval.tv_sec,timeval.tv_usec);
return 0;
}
输出结果:
[root@localhost IO]# ./a.out
ret:1527818410 tt:1527818410
year:2018 month:6 day:1 10:00:10
time string:Fri Jun 1 10:00:10 2018
buf>>>>this is my time:2018-06-01 10:
sec:1527818410 usec:503409
[root@localhost IO]#