2014-10-08 124 views
5

我搜索了高和低,似乎无法找到一个直接的答案。基本上,我打电话给YouTube API并获取JSON文档,然后解析它。其他一切都很好,但我不明白如何解析'duration'属性来将它显示为可读的。Ruby on Rails - YouTube API - 如何格式化持续时间ISO 8601(PT45S)

的 '时长' 字段过来为 'PT1H5M34S' - 1小时5分钟34秒

或者它可能是 'PT24S' - 24秒

或 'PT4M3S' - 4分3秒

在Ruby中必须有一种方法来解析这个字符串,并使其成为人类可读的,这样我才可以在循环中传递并转换它。任何帮助或指导,非常感谢。我试过使用Date.parse,Time.parse,Date.strptime以及许多其他的东西......就像只是将PT从字符串中取出并显示出来,但这看起来不正确。

回答

0

一个简单的方法来获得的秒数视频不到24小时:

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 
相关问题