iOS将字符串转换为日期和时间..东部标准时间后缀



我有这样的字符串输出:

2015年7月16日美国东部标准时间上午10:00

当我尝试将它们转换为日期时,使用以下代码:

- (NSDate*) convertStringToDateAndTime : (NSString*) strToConvert {
    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM/dd/yy HH:mm aa"];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EST"]];
    NSLog(@"%@", [dateFormatter dateFromString:strToConvert]);

    return [dateFormatter dateFromString:strToConvert];
}

我得到一个空结果。我必须去掉东部标准时间后缀吗?

感谢

编辑:这是控制台日志输出,第一个值是NSString尝试转换,第二个是转换结果,这是在修改代码后,如glorfindal建议。

2015-07-16 14:39:07.101 xxxxxxxxxxxx[23685:9316155] 7/16/15, 1:08:00 PM Eastern Daylight Time::::(null)

必须确保您的dateFormat与输入字符串完全匹配,包括标点符号。以下代码为我正确地解析了日期:

NSString* strToConvert = @"7/16/15, 1:08:00 PM Eastern Daylight Time";
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yy, HH:mm:ss aa zzzz"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"EST"]];
NSLog(@"%@", [dateFormatter dateFromString:strToConvert]);

最新更新