《UNIX环境高级编程》笔记-时间和日期
由UNIX内核提供的基本时间服务是计算 自国际标准时间公元1970年1月1日00:00:00以来经过的秒数,以time_t表示。以下2个
函数返回当前时间。
localtime和gmtime函数将time_t时间转换成年月日时分秒周日表示的时间,并将这些存放在一个tm结构中。
实践:
#include <stdio.h>#include <sys/time.h>#include <time.h>int main(void){ time_t t; time(&t); printf("%ld\n",t); struct timeval tv; gettimeofday(&tv, NULL); printf("%ld,%ld\n",tv.tv_sec,tv.tv_usec); printf("%s\n",asctime(gmtime(&t))); printf("%s\n",asctime(localtime(&t))); printf("%s\n",ctime(&t)); printf("%ld\n",mktime(localtime(&t))); return 0;}运行结果:root@virtual-machine:~# ./a.out
1382930227
1382930227,189444
Mon Oct 28 03:17:07 2013
Mon Oct 28 11:17:07 2013
Mon Oct 28 11:17:07 2013
1382930227从结果来看,asctime和ctime会在字符串末尾自动加换行符。