【问题标题】:Parse YouTube duration ISO 8601解析 YouTube 持续时间 ISO 8601
【发布时间】:2014-08-16 02:15:31
【问题描述】:

如何解析我认为是 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
   }
  }
 ]
}

是否有一个库可以为 .Net 解析这种格式“PT20M1S”?

【问题讨论】:

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


【解决方案1】:

是的,YouTube 使用 ISO 8601 时长格式,您可以在此处查看更多信息Wiki ISO 8601 duration

所以你需要做的是使用下面的代码(当然是在适当的上下文中,当你解析 XML 时),但你可以明白:

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

【讨论】:

  • 对于 OP 来说不是问题,因为 YouTube 视频不太可能持续几个月,但那些通过搜索“ISO 8601 持续时间”找到此答案的人应该注意到使用 XmlConvert.ToTimeSpan 的几个月的问题: stackoverflow.com/a/5760821/1536933
猜你喜欢
  • 2014-07-16
  • 1970-01-01
  • 2010-11-11
  • 2021-02-16
  • 2021-05-21
  • 2021-12-12
  • 2021-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多