2011-09-24 4 views
0

다음과 같은 JSON 날짜를받는 Ruby 서비스가 있습니다. /Date (1311706800000-0500)/ 이 형식으로 읽어야 할 형식으로 변환해야합니다. 목표 C NSDate.Ruby JSON 날짜를 목표 C NSDate

내가 사용하는 것을 시도했다 :

seconds_since_epoch = datestring.scan(/[0-9]+/)[0].to_i 
return Time.at(seconds_since_epoch) 

을하지만 월 4월 3일 10시 0분 0초 -0600 43533.

을 반환 뭐죠있는 NSDate에 대한 읽을 수있는 형식으로 JSON 변환하는 가장 좋은 방법 ? 도와 주셔서 감사합니다.

답변

0

JSON의 시간이 마이크로 초입니다. Ruby의 Time.at에는 초가 필요하고 선택적으로 두 번째 인수로 마이크로 초가 필요합니다.

str = "1311706800000-0500" 
# ignore the -0500 (might be a timezone) 
secs, microsecs = str.scan(/[0-9]+/)[0].to_i.divmod(1000) 
p Time.at(secs, microsecs) #=> 2011-07-26 21:00:00 +0200 with my locale