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

Man*_*lal 27 iphone

我现在要从服务器下面的日期,我想将字符串转换为日期.

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

但我不能成功请给我建议.谢谢

Vik*_*yan 89

方法:将字符串转换为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];
Run Code Online (Sandbox Code Playgroud)

阅读有关EDT - 东部夏令时的消息我觉得将EDT改为-0004会更好.

  • ProTip:如果您正在分析大量数据,请务必回收日期格式化程序,因为每次格式化都很昂贵. (4认同)

Ben*_*ynn 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"]);
Run Code Online (Sandbox Code Playgroud)

看一下日期格式模式.我添加这个是因为在哪里找到模式的描述并不是很明显.