2011-05-16 87 views
0

对于我的iPhone应用程序,我得将NSDate对象转换为字符串,然后将字符串转换回NSDate对象。有人可以帮我吗?谢谢!NSDate和NSString可可

+0

相反转换的NSDate成一个字符串,然后回一个NSDate,你大概会想要保持NSDate的原样并创建一个额外的NSString对象来表示它。 – 2011-05-16 13:43:48

回答

2

使用转换从NSDateNSString

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"]; 
NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance]; 

使用转换从NSStringNSDate

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss a"]; 
NSDate *myDate = [df dateFromString: stringFromDate]; 
1

你需要检查NSDateFormatter这正是这两个方向。

0

转换的NSDate到的NSString

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy"]; 

//Optionally for time zone converstions 

[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]]; 

NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance]; 

转换的NSString的NSDate

NSString *dateString = @"01-02-2010"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

// this is imporant - we set our input date format to match our input string 
// if format doesn't match you'll get nil from your string, so be careful 

[dateFormatter setDateFormat:@"dd-MM-yyyy"]; 

NSDate *dateFromString = [[NSDate alloc] init]; 

// voila! 
dateFromString = [dateFormatter dateFromString:dateString]; 

[dateFormatter release];