我有一个字符串:
NSString* string=@"2014-10-02 18:15:00 +0000";
如何使用此字符串获取日期对象?
我试过了:
NSString* string=@"2014-10-02 18:15:00 +0000";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"];
NSDate *mydate = [dateFormatter dateFromString:string];
NSLog(@"mydate = %@",mydate);
mydate
记录空值。我原本希望登录2014-10-02 18:15:00 +0000。
我想要的是拥有日期对象,可以将其与另一个日志对象进行比较,该对象在记录时显示为2014-10-02 18:15:00 +0000。
答案 0 :(得分:2)
你的字符串是24小时格式,但'hh'是12小时格式。 'HH'是24小时格式。这就是为什么它返回null。试试这个:
NSString* string=@"2014-10-02 18:15:00 +0000";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *mydate = [dateFormatter dateFromString:string];
NSLog(@"mydate = %@",mydate);
希望这会有所帮助.. :)
答案 1 :(得分:1)
因为您正在使用hh
,它提供12小时的格式化日期。但是你得到的是24小时格式化,所以你必须使用HH
,它提供24小时格式。有关日期格式的更多详细信息,请查看Vanya的答案。这里有很好的解释几乎所有格式。(Formatting date and time with iPhone SDK?)
答案 2 :(得分:1)
你必须使用" z"相反" Z"对于区域
NSString* string=@"2014-10-02 18:15:00 +0000";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];
NSDate *mydate = [dateFormatter dateFromString:string];
NSLog(@"mydate = %@",mydate);