我现在从服务器获得更低的日期,我想将字符串转换为日期。
2011年6月8日星期三美国东部时间晚上11:58
但我不能成功请给我建议。 感谢
答案 0 :(得分:89)
在 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。我添加这个是因为在哪里找到模式的描述并不是很明显。