使用NSDateFormatter将date从一种格式更改为另一种格式
如何转换NSDateFormattedstringApr 18, 2014 10:34:19 AM
至2014-04-18T17:34:19
? 我已经尝试了下面,但它返回一个nil
NSDate
指针。 任何人都可以帮助我。 谢谢。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss"]; NSDate *date = [dateFormatter dateFromString:@"Apr 18, 2014 10:34:19 AM"]; // Error nil NSLog(@"date: %@", date);
您需要使用2个date格式化器,一个用于parsing另一个显示器:
NSDateFormatter *parsingFormatter = [NSDateFormatter new]; [parsingFormatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"]; NSDate *date = [parsingFormatter dateFromString:@"Apr 18, 2014 10:34:19 AM"]; NSLog(@"date: %@", date); NSDateFormatter *displayingFormatter = [NSDateFormatter new]; [displayingFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss"]; NSString *display = [displayingFormatter stringFromDate:date]; NSLog(@"display: %@", display); // 2014-04-18T17:34:19