#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,是完全可以做文件名的,我也是经常这样做的,希望我的回答对你有帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)