请问如何用c写一个用当前时间作为文件名的程序,比如为2011年8月30日,文件名就是2011.8.30.txt

请问如何用c写一个用当前时间作为文件名的程序,比如为2011年8月30日,文件名就是2011.8.30.txt,第1张

#include <stdio.h>

#include <time.h>

char __new_file_name__[40]

char* getNewFileName()

{

/*

size_t strftime( char *str, size_t maxsize, const char *fmt, struct tm *time )

功能:函数按照参数fmt所设定格式将time类型的参数格式化为日期时间信息,然后存储在字符串str中

(至多maxsize 个字符)。用于设定时间不同类型的代码为:

*/

time_t t = time(NULL)

// 年月日

strftime(__new_file_name__,sizeof(__new_file_name__)/sizeof(char),"%Y.%m.%d.txt",gmtime(&t))

// 年月日时分秒

//strftime(__new_file_name__,sizeof(__new_file_name__)/sizeof(char),"%Y.%m.%d.%H.%M.%S.txt",gmtime(&t))

return __new_file_name__

}

int main(int argc, char *argv[])

{

printf("%s\n",getNewFileName())

return 0

}

不能用DateTime.Today来取时间,不然,转换出来的字符串就是"2011/11/20 0:00:00"这里面是有空格,还有冒号。你可以用

DateTime d = DateTime.Now

string name = d.ToString("yyyyMMddHHmmss")

如果你只要年月日,可以用 string name = d.ToString("yyyyMMdd")

这样出来就是一个只有数字的字符串。20111120161036,是完全可以做文件名的,我也是经常这样做的,希望我的回答对你有帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11871862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存