解析YouTube持续时间ISO 8601

时间:2014-06-25 13:24:34

标签: c# datetime youtube-api date-format

如何解析我认为是ISO 8601的youtube持续时间格式

此请求

https://www.googleapis.com/youtube/v3/videos?id=Kdgt1ZHkvnM&part=contentDetails&key={API_KEY}

返回

{
 "kind": "youtube#videoListResponse",
 "etag": "\"QVyS2yjpsZ-tKkk4JvgYeO_YkzY/Do26Zx0a-KfdN4FPvoMAgqiFNRA\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"QVyS2yjpsZ-tKkk4JvgYeO_YkzY/yZ-09PZbpkEHSEcQeekJuGOCbJY\"",
   "id": "Kdgt1ZHkvnM",
   "contentDetails": {
    "duration": "PT20M1S",
    "dimension": "2d",
    "definition": "hd",
    "caption": "false",
    "licensedContent": false
   }
  }
 ]
}

是否有解析此格式的图书馆" PT20M1S " for .Net?

1 个答案:

答案 0 :(得分:15)

是的,YouTube使用ISO 8601持续时间格式,您可以在此处查看Wiki ISO 8601 duration

所以你需要做的是使用下面的代码(当然是在适当的上下文中,当你解析XML时),但你可以得到这个想法:

TimeSpan youTubeDuration = XmlConvert.ToTimeSpan("PT20M1S");