2012-11-25 35 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的答案給出了一個很好的例子。