2012-11-25 100 views
0

当采用下面来获取文件标题日期格式建议

NSString *date = [[NSDate date] description]; NSString *fileName = [NSString stringWithFormat:@"%@ %@.pdf", self.certificate.certificateType.title, date];

它给我的文件名电子邮件从我的应用程序PDF文件,即时通讯:

myfilename.pdf 2012-11-25 21:35:45 + 0000

有我可以摆脱+0000

回答

2

你通常想在你的文件名中使用空格。

NSDate *date = [NSDate date]; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"yyyy-MM-dd_HH-mm-ss"; 
NSString *dateString = [formatter stringFromDate:date]; 
NSString *fileName = [NSString stringWithFormat:@"%@_%@.pdf", self.certificate.certificateType.title, dateString]; 
+0

你想要HH(24小时),而不是hh(12小时)的小时。 – rmaddy

+0

感谢尤金,这是有道理的,并感谢您的提示 – JSA986

+0

而你需要毫米,而不是MM的分钟(MM是月)。 – rmaddy

1

description方法不应该用于除调试以外的任何内容。其实施可能随时改变(并且对于NSDate,它在过去已经改变)。

更好的解决方案是使用具有特定日期格式的NSDateFormatter以确保一致的结果。

@Eugene的答案给出了一个很好的例子。