看书小记4(《C专家编程》)
来源:互联网 发布:电脑卡片制作软件 编辑:程序博客网 时间:2024/05/18 13:45
日期与时间
struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
通过time()函数来获得日历时间,如果参数为NULL,函数将只通过返回值返回现在的日历时间:
struct tm* ptr = NULL;
time_t t = time(NULL);
cout<<t<<endl;
gmtime()函数是将日历时间转化为世界标准时间(即格林尼治时间),而localtime()函数是将日历时间转化为本地时间:
ptr = gmtime(&t);
cout<<ptr->tm_hour<<endl;
ptr = localtime(&t);
cout<<ptr->tm_hour<<endl;
可以通过asctime()函数和ctime()函数将时间以固定的格式显示出来:
printf(asctime(ptr));
可以使用strftime()函数将时间格式化为我们想要的格式,格式命令忒多:
char str[128];
strftime( str, sizeof(str), "Today is %A, day %d of %B in the year %Y.\n", ptr);
printf(str);
计时函数是clock(),返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时tick数:
long i = 10000000L;
clock_t start, finish;
double duration;
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- ) ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );
使用mktime()函数将用tm结构表示的时间转化为日历时间:
time_t t_of_day;
ptr->tm_year=1997-1900;
ptr->tm_mon=6;
ptr->tm_mday=1;
ptr->tm_hour=0;
ptr->tm_min=0;
ptr->tm_sec=1;
ptr->tm_isdst=0;
t_of_day=mktime(ptr);
printf(ctime(&t_of_day));
最后附上当前的执行结果和参考(http://www.cnblogs.com/Wiseman/archive/2005/10/24/260576.html)
- 看书小记4(《C专家编程》)
- 看书小记1(《C专家编程》)
- 看书小记2(《C专家编程》)
- 看书小记3(《C专家编程》)
- 看书小记5(《C专家编程》)
- 看书小记6(《C专家编程》)
- 看书小记7(《C专家编程》)
- 看书小记8(《C专家编程》)
- 看书小记9(《C专家编程》)
- 《C专家编程》读书笔记4
- C专家编程(一)
- C专家编程(二)
- C专家编程(一)
- C专家编程(二)
- C专家编程(三)
- C专家编程(四)
- C专家编程(五)
- C专家编程(六)
- python 使用sqlite3
- 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)
- java实现一个简单的HTTP服务器,带打开网页和计算功能
- Linux下动态挂载硬盘,其实就这么简单
- 2013 duilib入门简明教程 -- 响应按钮事件(4)
- 看书小记4(《C专家编程》)
- 由于目标机器积极拒绝,无法连接(一种变态问题)
- Android---利用SharedPreferences来保存应用程序的配置信息
- 2013 duilib入门简明教程 -- 自绘标题栏(5)
- 2013 duilib入门简明教程 -- XML配置界面(6)
- 类的加载机制
- 高速信号采集卡—全球顶级超宽带射频信号高速采集存储记录回放系统5GSPS!6000MB/S!
- local host ip get
- Babelfish-哈希编码