0

从我的应用程序通过电子邮件发送 PDF 时,我使用以下内容获取文件标题

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

它给了我一个文件名:

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

有什么办法可以摆脱+0000

4

2 回答 2

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];
于 2012-11-25T22:03:56.913 回答
1

description方法不应该用于除调试之外的任何事情。它的实现可以随时改变(而且NSDate,它在过去已经改变)。

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

@Eugene 的回答举了一个很好的例子。

于 2012-11-25T22:05:48.070 回答