我有一個NSString喜歡Mon Feb 06 20:02:17 +0000 2012
。我想以更短的方式編寫它,例如:DD-MM-YY, HH:MM
。我認爲也許我可以將其轉換爲NSDate,再次轉換爲較短的NSString,但我不知道如何將這種奇怪的日期格式轉換爲NSDate。NSString與日期:減少日期大小
如果您需要更多信息,請問我。 謝謝!
我有一個NSString喜歡Mon Feb 06 20:02:17 +0000 2012
。我想以更短的方式編寫它,例如:DD-MM-YY, HH:MM
。我認爲也許我可以將其轉換爲NSDate,再次轉換爲較短的NSString,但我不知道如何將這種奇怪的日期格式轉換爲NSDate。NSString與日期:減少日期大小
如果您需要更多信息,請問我。 謝謝!
你需要使用一個NSDateFormatter
告訴NSDate
你想它,那麼你可以在兩個這樣之間轉換格式的原始日期是在和格式:
NSString *oldDate = @"Mon Feb 06 20:02:17 +0000 2012";
NSString *oldFormat = @"EEE MMM dd HH:mm:ss ZZ yyyy";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:oldFormat];
NSDate *date = [dateFormatter dateFromString:sourceString];
NSString *newFormat = @"dd-MM-yy, HH:mm";
[dateFormatter setDateFormat:newFormat];
NSString *newDate = [dateFormatter stringFromDate:date];
您可以使用其方法之一轉換成NSDate的:
- (NSDate *)dateFromString:(NSString *)string
然後將其轉換成任何你想要使用NSDateFormatter。
編輯:其實NSDate的有一個類的方法,所以你可以檢查,以及:
+ (id)dateWithString:(NSString *)aString
我知道它,但我已經嘗試它和NSDate給出零 – Garoal 2012-02-06 20:52:48
也有類似的問題和StackOverflow的答案和一個教程,可以幫助你:
教程: http://iosdevelopertips.com/cocoa/date-formatters-examples-take-3.html
類似的問題:
EDIT
NSString *dateStr = @"20081122";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
檢查出來:[解析日期格式在可可](http://stackoverflow.com/questions/399527/parsing-unsupported-date-formats-in-via-cocoas-nsdate) – Matt 2012-02-06 20:45:34