防止restkit在get中编码我的日期查询字符串参数

时间:2013-12-21 00:32:31

标签: restkit nsdateformatter restkit-0.20

Restkit正在对我的日期对象进行编码,因此它生成的url如下所示:

预约结束日期= 2013-12-21T04%3A00%3A00.000&安培; STARTDATE = 2013-12-21T04%3A00%3A00.000

但是,我需要它们看起来像这样: 预约结束日期= 2013-12-20T21:00:00Z&安培; STARTDATE = 2013-12-10T09:00:00Z

这是我的代码..

NSDateFormatter *dateFormatter = [NSDateFormatter new];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];
    dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];

    [RKObjectManager.sharedManager getObjectsAtPath:@"appointments" parameters:@{
            @"startdate" : [dateFormatter stringFromDate:startDate],
            @"enddate" : [dateFormatter stringFromDate:endDate],
    }
                                            success:
                                                    ^(
                                                            RKObjectRequestOperation *operation, RKMappingResult
                                                            *mappingResult) {
                                                        if (blockSelf.dayButton.isSelected)
                                                        {
                                                            blockSelf.dayView.appointmentsForTimeRange = mappingResult.array;
                                                        } else
                                                        {
                                                            blockSelf.weekView.appointmentsForTimeRange = mappingResult.array;
                                                        }
                                                    }
                                            failure:
                                                    ^(
                                                            RKObjectRequestOperation *operation, NSError
                                                            *error) {
                                                        LogVerbose(@"error %@", error);
                                                    }];

1 个答案:

答案 0 :(得分:0)

RestKit正在做你正在问的事情。它没有改变日期格式。 %3A是冒号的URL编码版本。如果您需要更改日期格式,则需要更改日期格式字符串。也许是为了:

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];

(检查日期格式规范以确切使用什么)。