Преобразование даты Ruby JSON в цель C NSDate

У меня есть служба Ruby, которая получает дату JSON следующим образом: /Date(1311706800000-0500)/ Мне нужно отформатировать ее таким образом, чтобы ее можно было прочитать в NSDate цели C.

Я пытался использовать:

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

но это возвращает Пн Апр 03 10:00:00 -0600 43533.

Как лучше всего преобразовать JSON в читаемый формат для NSDate? Спасибо за помощь.


person Jonathan    schedule 24.09.2011    source источник


Ответы (1)


Похоже, что 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
person steenslag    schedule 24.09.2011