2013-04-24 2 views
1

iOS 앱에서 www.myurl.com/a?timezone=+n.n을 사용하여 NSMutableURLRequest 양식의 URL에서 데이터를 요청하려고합니다. +n.n 또는 -n.n은 요청을 보낸 장치의 시간대를 나타냅니다.iOS 앱에서 요청한 시간대의 시간대

어떻게이 시간대 매개 변수를 URL에 채우나요?

위 검색을 통해 시간대와 관련된 내용을 검색 한 적이 없습니다.

+2

먼저 당신이 실제 수 없음을 이해할 필요가 남은

그래서 모든 점으로 콜론을 대체하기 위해 지금 시간대. UTC와의 오프셋이지만 실제 표준 시간대를 결정하는 데 충분하지 않습니다. 여러 다른 표준 시간대는 UTC와 동일한 * 현재 * 오프셋을 가질 수 있지만 오프셋을 변경할 때 다른 규칙이 적용됩니다. –

+1

점이 꽤 이상합니다. 일반적으로'+ 0200' 또는'+02 : 00'과 같은 형식을 사용합니다. 그리고 그 두 가지는 쉽게 해결할 수 있습니다. – DarkDust

+0

@JonSkeet +1 좋습니다. 나는 시간대라는 용어를 사용했다. 왜냐하면 내가 가진 희소 한 문서가 그런 것을 언급하기 때문이다. – SundayMonday

답변

2

단계적으로 해결해야합니다. 먼저, (조심 안된) 당신의 희망은 거의 무엇을 할 것이다 문자열을하자 :

NSDateFormatter *formatter; 
NSString *almostThere; 

formatter = [[NSDateFormatter alloc] initWithDateFormat:@"ZZZZZ" allowNaturalLanguage:NO]; 
almostThere = [formatter stringFromDate:[NSDate date]]; 
[formatter release]; 

지금 almostTheredate format string documentation에 따라 -08:00 같은 것을해야한다 (NSDateFormatter 유니 코드 서식 및 참고 문헌이 문서를 사용).

NSString *tz; 

tz = [almostThere stringByReplacingOccurrencesOfString:@":" withString:@"."]; 

그리고 마지막으로, URL :

NSURL *theURL; 
NSString *urlString; 

urlString = [NSString stringWithFormat:@"http://www.myurl.com/a?timezone=%@", tz] 
theURL = [NSURL URLWithString:urlString]; 
+0

감사합니다! 내가해야만하는 일은 날짜 포맷터에서'init'을 호출하고'dateFormat' 속성을 설정하는 것입니다 .' initWithDateFormat : allowNaturalLanguage :' OS X에서. – SundayMonday