iOS将NSString转换为NSDate总是零
问题描述:
我试图将字符串转换为NSdate
。字串的日期是“2014年12月27日上午07时42分00秒+0000”iOS将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你的帮助。
答
尝试
dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a Z";
为HH
是24小时和冲突a
。 Z
代表时区偏移量。
对符一看: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]);
我们展示的字符串。 – gnasher729 2014-12-27 18:41:55
[[NSDate alloc] init]完全没有意义。 – gnasher729 2014-12-27 18:42:37