NSDateFormatter问题:时间显示为反斜杠

时间:2012-09-24 14:06:01

标签: objective-c ios nsdate nsdateformatter

我正在创建一个日期和时间字符串,用于为保存到文档目录的文件添加时间戳。一切正常,除了时间显示为08/42/43而不是08:24:43。我不确定反斜杠的来源。

这是我得到的文件名“2012_09_24 _ 08/42 / 43.cmm。”我添加了下划线,因为我不想要日期的反斜杠。唯一的问题是时间有反斜杠。这是实际的代码。

NSDate *myDate = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy_MM_dd '_' hh:mm:s"];
NSString *dateForFilename = [df stringFromDate:myDate];

1 个答案:

答案 0 :(得分:1)

这是因为':'不是文件名的有效字符(至少对于OSX而且因此是iOS),因此系统回退到'/'。如果您尝试这样的事情,它应该可以正常工作:

[df setDateFormat:@"yyyy_MM_dd_hh-mm-s"];