找回密码
 注册
Simdroid-非首页
查看: 47|回复: 1

请问fopen如何以当前时间作为文件名输出!!!

[复制链接]
发表于 2014-9-2 21:39:55 | 显示全部楼层 |阅读模式 来自 北京
请问如何以当前时间作为文件名!!!

我编写了一个如下:
clear
c=clock;
fname=[num2str(c(1)),num2str(c(2)),num2str(c(3)),num2str(c(4)),num2str(c(5)),num2str(ceil(c(6))),'-test','.txt'];
fid=fopen(fname,'w')
fprintf(fid,'content for files');
fclose(fid)


但是结果显示不理想,比如执行上述命令,得到文件名为20149221318-test.txt,但是只有一位数字的时间或日期我希望前面加上0,比如9月,希望显示09,而不是只有一个9,如这个文件名我希望其格式为20140902210318-test.txt

请问如何操作?或者是否有更好的方法,请大家指点帮忙,非常感谢!!!!!
发表于 2014-9-3 02:14:15 | 显示全部楼层 来自 英国
Simdroid开发平台
本帖最后由 nwcwww 于 2014-9-3 02:23 编辑

方法不唯一,这里给两种思路:

1) 使用函数datestr并指定格式(推荐)
  1. >> a = [datestr(now, 'yyyymmddHHMMSS') '-test.txt']

  2. a =

  3. 20140902192008-test.txt
复制代码


2) 和楼主的方法一样,clock然后转为字符串。
  1. >> c = clock; b=sprintf('%d%02d%02d%02d%02d%02d%s',[c(1:5), floor(c(6)), '-test.txt'])

  2. b =

  3. 20140902192008-test.txt
复制代码

另外这个方法用ceil的话可能会出现xx分60秒的情况,建议避免。

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-3 07:29 , Processed in 0.033037 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表