如何在iphone中将字符串转换为NSDate?

时间:2011-06-09 05:14:25

标签: iphone

我现在从服务器获得更低的日期,我想将字符串转换为日期。

2011年6月8日星期三美国东部时间晚上11:58

但我不能成功请给我建议。 感谢

2 个答案:

答案 0 :(得分:89)

How-To: Convert a string to NSDate

Objective-C 中,您通常需要将字符串转换为NSDate对象。一种简单的方法是使用NSDateFormatter对象。它提供了dateFromString方法,该方法将字符串转换为NSDate对象。但是,您需要告诉NSDateFormatter日期的格式。请参阅下面的示例:

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

阅读EDT – Eastern Daylight Time我认为将EDT更改为-0004会更好。

答案 1 :(得分:17)

ViTo基本上回答了这个问题,但是你所关注的字符串的精确格式是:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM y hh:mm a zzz"];
NSLog(@"Date: %@", [dateFormatter dateFromString:@"Wed, 08 Jun 2011 11:58 pm EDT"]);

看看the date format patterns。我添加这个是因为在哪里找到模式的描述并不是很明显。