您好我将字符串转换为日期时遇到了问题,并且日期只是字符串的时间。 结果为空。
这就是我在做的事情:
我有一本字典,里面有时间:
@"Time" : @"2014-07-17T10:38:00+03:00"
我这样做:
NSDateFormatter *timeFormat2 = [[NSDateFormatter alloc] init];
[timeFormat2 setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
NSDate *date = [timeFormat2 dateFromString:[JSON valueForKey:@"Time"]];
然后这个:
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];
NSLog(@"%@",[timeFormat stringFromDate:date]);
cell.iboTimeLabel.text = [timeFormat stringFromDate:date];
值为空。
我的错误在哪里?
答案 0 :(得分:3)
您正在设置字符串日期格式错误,请使用Bellow代码检查:
NSString *str=@"2014-07-17T10:38:00+03:00";
NSDateFormatter *timeFormat2 = [[NSDateFormatter alloc] init];
[timeFormat2 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [timeFormat2 dateFromString:str];
[timeFormat2 setDateFormat:@"HH:mm:ss"];
NSString *final = [timeFormat2 stringFromDate:date];
NSLog(@"%@",final);
答案 1 :(得分:2)
从时间字符串中删除单引号并尝试。使用以下日期格式化程序。
NSDateFormatter *timeFormat2 = [[NSDateFormatter alloc] init];
[timeFormat2 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [timeFormat2 dateFromString:@"2014-07-17T10:38:00+03:00"];
答案 2 :(得分:1)
尝试使用此格式
NSDateFormatter *timeFormat2 = [[NSDateFormatter alloc] init];
[timeFormat2 setDateFormat:@"yyyy-MM-dd'T'hh:mm:ssZZZZZ"];
NSDate *date = [timeFormat2 dateFromString:@"2014-07-17T10:38:00+03:00"];
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];
NSLog(@"%@",[timeFormat stringFromDate:date]);
它在工作。我希望这对你有用。
答案 3 :(得分:1)
将日期格式设置为[timeFormat2 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
我还应该在下次处理此类问题时建议reading this document。