iOS将NSString转换为NSDate总是零

问题描述:

我试图将字符串转换为NSdate。字串的日期是“2014年12月27日上午07时42分00秒+0000iOS将NSString转换为NSDate总是零

这里是我的代码:

NSDate *date =[[NSDate alloc] init]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss a"; 
date = [ dateFormatter dateFromString:dateString]; 

的日期值始终为零。你们中的任何一个人都知道我能做什么错了?

我会真正appreaciate你的帮助。

+0

我们展示的字符串。 – gnasher729 2014-12-27 18:41:55

+5

[[NSDate alloc] init]完全没有意义。 – gnasher729 2014-12-27 18:42:37

尝试

dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a Z"; 

HH是24小时和冲突aZ代表时区偏移量。

对符一看:http://unicode.org/reports/tr35/tr35-6.html#Date_Field_Symbol_Table


NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a Z"; 
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; 
// see https://developer.apple.com/library/ios/qa/qa1480/_index.html 


NSDate *date = [dateFormatter dateFromString:dateString]; 

NSString *str [email protected]"12/27/2014 07:42:00 AM +0000";   
    NSDateFormatter *sdateFormatter = [[NSDateFormatter alloc] init]; 
    sdateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
    [sdateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a Z'"]; 

    NSDate *sdate = [sdateFormatter dateFromString:str]; 
    NSLog(@"%@",[sdateFormatter stringFromDate:sdate]);