我收到了JSON响应。
{
0 = 50;
1 = 1;
2 = 4;
3 = "08:51:00";
4 = "20:51:00";
Id = 50;
day = 4;
endTime = "20:51:00";
openTime = "08:51:00";
venId = 1;
我使用日期格式化程序将字符串转换为日期,然后使用此代码转换为适当的字符串格式。
NSDateFormatter * DateFormat = [[NSDateFormatter alloc] init];
[DateFormat setDateFormat:@"hh:mm:ss"];
NSDateFormatter * recevingDateFormatter = [[NSDateFormatter alloc] init];
[recevingDateFormatter setDateFormat:@"hh:mm aa"];
NSDate * openTime = [DateFormat dateFromString:[[_arrHoursOfOpr objectAtIndex:indexPath.row] objectForKey:@"openTime"]];
NSDate * endTime = [DateFormat dateFromString:[[_arrHoursOfOpr objectAtIndex:indexPath.row] objectForKey:@"endTime"]];
NSLog(@"the start time and end time is %@, %@", openTime, endTime);
objCell.txtDay.text = [_arr_weekdays objectAtIndex:[[[_arrHoursOfOpr objectAtIndex:indexPath.row]objectForKey:@"day"] integerValue]];
objCell.txtStartTime.text = [recevingDateFormatter stringFromDate:openTime];
objCell.txtEndTime.text =[recevingDateFormatter stringFromDate:endTime];
但不知何故" openTime"正在转换和" endTime"正在返回null。
对于12:59:59以上的所有字符串都会发生这种情况,即从13:00:00开始。
如何在12:59:59之后解决问题和支持时间?
答案 0 :(得分:3)
hh
表示[1-12]范围内的小时数。
小时[1-12]。当在骨架数据中或在API中传递的骨架中用于灵活的日期模式生成时,它应该与区域设置(h或K)优选的12小时循环格式匹配;它不应该与24小时循环格式(H或k)匹配。使用hh进行零填充。
特别是"它不应该与24小时循环格式相匹配"对你来说很重要,因为你实际上想要明确地匹配24小时制。
您需要使用HH
支持13个小时以上:
小时[0-23]。当在骨架数据中或在API中传递的骨架中用于灵活的日期模式生成时,它应该与区域设置(H或k)优选的24小时循环格式匹配;它不应该与12小时循环格式(h或K)匹配。使用HH进行零填充。
请参阅unicode docs