简体   繁体   English

如何在objective-c中对日期进行url编码

[英]How do I url encode a date in objective-c

I need to url encode a date parameter so I can send it to the api. 我需要url编码一个日期参数,以便我可以将它发送到api。

For example if I have a date 2013-08-01 00:00:00 +0000 , I need to send this through 2013-08-01+00%3a00%3a00+%2b0000 . 例如,如果我的日期是2013-08-01 00:00:00 +0000 ,我需要通过2013-08-01+00%3a00%3a00+%2b0000

How can I achieve it? 我怎样才能实现它?

NSDate *myDate; // this date should be encoded
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"yyyy-MM-dd hh:mm:ss ZZZ";
NSString *dateString = [df stringFromDate:myDate];
NSString *encodedDate = 
  [dateString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

这一直对我有用

NSString *encodedDate = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)dateString, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM