2014-10-08 21 views
5

Yüksek ve alçak arama yaptım ve bu konuda düzgün bir yanıt bulamıyorum. Temel olarak, YouTube API'sini arıyorum ve bir JSON belgesini geri alıyorum, ardından ayrıştırayım. Diğer her şey iyi, ama insanın okunabilir olarak görüntülenmesi için 'süre' özelliğini nasıl ayrıştıracağımı anlamıyorum. 1 saat 5 dakika 34 saniyeRuby on Rails - YouTube API - Süre nasıl biçimlendirilir? ISO 8601 (PT45S)

ya da o PT24S 'olabilir - - 24 saniye

ya da 'PT4M3S' - 4 dakika 3 saniye

'süre' alanı 'PT1H5M34S' olarak üzerinde gelir

Ruby'de bu dizeyi ayrıştırmanın ve onu okunabilir hale getirmenin bir yolu olmalı, böylece döngümdeki sinek boyunca geçen süreyi geçip onu dönüştürebiliyorum. Herhangi bir yardım veya rehberlik çok takdir edilmektedir. Date.parse, Time.parse, Date.strptime ve diğer pek çok şeyle çalışmayı denedim ... PT'yi sadece dizgeden ayırmak ve görüntülemek gibi, ama bu doğru görünmüyor.

cevap

0

Basit bir yaklaşım videolar için saniye sayısını almak için 24 saatten az:

dur = "PT34M5S" 
pattern = "PT" 
pattern += "%HH" if dur.include? "H" 
pattern += "%MM" if dur.include? "M" 
pattern += "%SS" 
DateTime.strptime(dur, pattern).seconds_since_midnight.to_i