ios NSDateFormatter使用文字日期从字符串中选择日期
我正在尝试使用日期字符串创建一个日期,该字符串如下:ios NSDateFormatter使用文字日期从字符串中选择日期,ios,objective-c,nsdateformatter,Ios,Objective C,Nsdateformatter,我正在尝试使用日期字符串创建一个日期,该字符串如下: 2014年7月29日星期二17:22:30+0200 我正在使用此代码,但在尝试dateFromString NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE, dd LLL YYYY hh:mm:ss +0200"]; NSLog(@"The date: %@", [dateFormatter
2014年7月29日星期二17:22:30+0200
我正在使用此代码,但在尝试dateFromString
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd LLL YYYY hh:mm:ss +0200"];
NSLog(@"The date: %@", [dateFormatter dateFromString:bazosItem.itemDate]);
因此,输出为:
The date: (null)
我一直在互联网上搜索正确的日期格式,并多次复查,我不知道日期出了什么问题。您的日期格式似乎不正确。试试下面的方法
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss +0200"];
您的格式中有一些错误,首先,
YYYY
应该是yyy
第二,hh
是用于上午/下午的时间,而不是24小时。为此,您应该使用hh
第三,也是最重要的一点,您应该通过添加区域设置来更改日期的语言格式:
NSString *temp = @"Tue, 29 Jul 2014 17:22:30 +0200";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setDateFormat:@"EEE, dd LLL yyyy HH:mm:ss +0200"];
NSLog(@"The date: %@", [dateFormatter dateFromString:temp]);
不,仍然是(空),我用HH试过了,但没有用MMM试过。试一个准确的。我正在恢复正常。您应该使用小的“yyy”,我做了更正谢谢,我还注意到在应用dateFromString方法之前我忘记了修剪日期字符串。