
分类: 电脑/网络 >> *** 作系统/系统故障
问题描述:
解析:
char buf[65];
struct stat;
stat("c:\\testtxt", & );
st_ctime 就是文件的创建时间。你可以用localtime()
转换成立能够识别的时间。
struct tm t=localtime( st_ctime);
sprintf(buf, "%04d-%02d-%02d %02d:%02d:%02d",
t->tm_year+1900, t->tm_mon+1, t->tm_mday,
t->tm_hour, t->tm_min, t->tm_sec);
#include <stdioh>
#include <timeh>
void main()
{
time_t ltime;
struct tm today;
time( <ime );
today = localtime( <ime );
printf("%04d-%02d-%02d %02d:%02d:%02d\n",1900+today->tm_year,today->tm_mon+1,today->tm_mday,today->tm_hour,today->tm_min,today->tm_sec);
}
先调用time获得当前时间,这是个从1970-1-1午夜0点开始的秒数,然后调用localtime将该时间专为本地时间就可以打印了。其中tm_year需要加上1900,tm_mon需要加上1,看printf你就明白了。
主要分为两种方法:
1这种方法比较高级
#include <timeh>#include <stdioh>
#include <timeh>
int main(int argc, char argv)
{
time_t temp;
struct tm t;
time(&temp);
t = localtime(&temp);
printf("当前时间是:\n%d年%d月%d日\n", t->tm_year+1900, t->tm_mon+1 , t->tm_mday);
printf("%d时%d分%d秒\n", t->tm_hour, t->tm_min, t->tm_sec);
/
t结构体内的成员变量还有以下几个:
tm_wday 星期的第几天 tm_yday 这天是这年的第几天
/
return 0;
}
需要注意的是tm_year返回的是1900年之后的年数,tm_mon返回的比实际月份小1(至于为什么要这样设计,我不是太清楚)
2这种方法较为简单方便,但是同时可能会对接下来的其它 *** 作不利。
#include <timeh>#include <stdioh>
int main(int argc, char argv)
{
time_t temp;
time(&temp);
printf("当前时间为:\n%s", ctime(&temp));
return 0;
}
Linux C编程获取当前时间用time这个函数,time函数会返回一个time_t类型的时间戳(这个time_t类型实际上是一个长整型,定义在timeh头文件中)。time函数的函数原型是这样的:
time_t time(time_t tloc);
使用time函数需要包含timeh头文件:
#include <timeh>
调用time函数的代码是这样的:
time_t t;
t=time((time_t ) 0);
因为time函数参数的作用和返回值一样,只是用于接收时间戳,所以这里调用time函数可以传入一个空指针,表示只用它的返回值,不用指针参数来接收时间戳。
因为time函数只是返回一个时间戳,如果想打印直观的时间信息,可以把刚才的time_t作为参数调用ctime函数,ctime函数会返回一个字符串,ctime函数的调用是这样的:
printf("The time and date is: %s", ctime(&t));
t就是刚才调用time函数返回的time_t类型变量。
以上就是关于C语言如何获取文件创建时间全部的内容,包括:C语言如何获取文件创建时间、c语言如何获取系统时间并将时间储存在字符串里、c语言中取系统时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)