日期格式建议

时间:2012-11-25 21:55:33

标签: objective-c xcode nsdate

从我的应用通过电子邮件发送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

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:1)

除了调试之外,永远不应该使用description方法。它的实现可能随时改变(对于NSDate,它在过去已发生变化)。

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

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