在API中,所选日期格式类似于2013-11-01T23:00:00%2B0000
但我的日期格式是这样的:2013-11-01T23:00:00+0000
要进行转换,我使用了以下代码:
NSString *plus = [NSString stringWithFormat:@"%@%@", [timeStamp substringToIndex:[timeStamp length]-5], @"%2B0000"];
而不是(+)加号的unicode,即(%2B)。
但是当我从Tapku日历中选择一天时,我收到错误,其中显示日期格式错误。我该如何解决这个问题?
答案 0 :(得分:7)
NSDate *tempDate=toDate;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss zzzz"];
[periodOfInspectionToTextField setText:[NSString stringWithFormat:@"%@",[df stringFromDate:d]]];
toDate=[df dateFromString:periodOfInspectionToTextField.text];
答案 1 :(得分:0)
您需要设置tapku的日期格式,如下所示: -
[YYYY-MM-DD hour:minute:second];
请点击此链接了解更多详情。
答案 2 :(得分:0)
首先,您需要从API中取消日期字符串以删除百分比转义符:
NSString *dateString = [@"2013-11-01T23:00:00%2B0000" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
这将给出2013-11-01T23:00:00+0000
的日期字符串。然后,您需要将此字符串解析为NSDate
对象:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:sszzzz"];
NSDate *date = [formatter dateFromString:dateString];