最近看代码,遍历文件夹和文件,里面有这么一句显示
cout<<file_info.name<<' '<<file_info.time_write<<' '<<file_info.size<<' '<<attribute<<endl;
//获得的最后修改时间是time_t格式的长整型,需要用其他方法转成正常时间显示
这个时间是一个int64的utc时间戳,全是数字看起来不好,换成年月日的字符串是最好的。顺便就学习了下时间相关。
首先解决办法是先将filetime转化为systemtime
再 进行年月日等输出格式
gmtime(int64);//返回tm结构的格林尼治时间(GMT)
struct tm *gmtime(const time_t *timeptr)
localtime(int64);//返回换算成本地时间(中国+8)
char* asctime (const struct tm * timeptr)//把timeptr指向的tm结构体中储存的时间转换为字符串
//Wed Feb 13 15:46:11 2013 顺便设置显示宽度setw(),cout.flags(ios::left);左对齐