解析YouTube持续时间ISO 8601

ojh*_*ins 5 c# datetime date-format youtube-api

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

这个请求

https://www.googleapis.com/youtube/v3/videos?id=Kdgt1ZHkvnM&part=contentDetails&key={API_KEY}
Run Code Online (Sandbox Code Playgroud)

返回

{
 "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
   }
  }
 ]
}
Run Code Online (Sandbox Code Playgroud)

是否有图书馆为.Net 解析这种格式" PT20M1S "?

Pet*_*nar 16

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

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

TimeSpan youTubeDuration = XmlConvert.ToTimeSpan("PT20M1S");
Run Code Online (Sandbox Code Playgroud)