在Java中将Youtube Data API V3视频时长转换为hh:mm:ss格式?

用户名

我正在使用Youtube数据API v3获取视频信息,例如标题,观看次数和持续时间。duration值对我来说是新的,ISO8601 date因为我需要将其转换为hh:mm:ss这样的可读格式。持续时间可以具有以下不同值:

  1. PT1S-> 00:01
  2. PT1M-> 01:00
  3. PT1H-> 01:00:00
  4. PT1M1S-> 01:01
  5. PT1H1S-> 01:00:01
  6. PT1H1M1S-> 01:01:01

我可以使用Joda Time库来解析该值并计算以秒为单位的持续时间,但是该库的大小为500kb,这会增加我不需要的应用程序的大小。

塔赫·霍希迪(Taher Khorshidi)

看这段代码:

private static HashMap<String, String> regexMap = new HashMap<>();
private static String regex2two = "(?<=[^\\d])(\\d)(?=[^\\d])";
private static String two = "0$1";

public static void main(String[] args) {

    regexMap.put("PT(\\d\\d)S", "00:$1");
    regexMap.put("PT(\\d\\d)M", "$1:00");
    regexMap.put("PT(\\d\\d)H", "$1:00:00");
    regexMap.put("PT(\\d\\d)M(\\d\\d)S", "$1:$2");
    regexMap.put("PT(\\d\\d)H(\\d\\d)S", "$1:00:$2");
    regexMap.put("PT(\\d\\d)H(\\d\\d)M", "$1:$2:00");
    regexMap.put("PT(\\d\\d)H(\\d\\d)M(\\d\\d)S", "$1:$2:$3");

    String[] dates = { "PT1S", "PT1M", "PT1H", "PT1M1S", "PT1H1S", "PT1H1M", "PT1H1M1S", "PT10H1M13S", "PT10H1S", "PT1M11S" };

    for (String date : dates) {
        String d = date.replaceAll(regex2two, two);
        String regex = getRegex(d);
        if (regex == null) {
            System.out.println(d + ": invalid");
            continue;
        }
        String newDate = d.replaceAll(regex, regexMap.get(regex));
        System.out.println(date + " : " +newDate);
    }    
}

private static String getRegex(String date) {
    for (String r : regexMap.keySet())
        if (Pattern.matches(r, date))
            return r;
    return null;
}

regex2two已被用于前导零添加0到1位数。您可以尝试此演示

regexMapI中,我存储了所有7种情况和适当的正则表达式替换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中将Youtube Data API V3视频时长转换为hh:mm:ss格式?

来自分类Dev

在PHP中将Youtube Data API V3视频时长格式转换为标准时间

来自分类Dev

在JavaScript / Node.js中将Youtube Data API V3视频时长格式转换为秒

来自分类Dev

在PHP中转换YouTube Api v3视频时长

来自分类Dev

在Data Studio中将秒转换为MM:HH:SS

来自分类Dev

Youtube API hh:mm:ss格式的seekTo()

来自分类Dev

使用YouTube Data API获得视频时长?

来自分类Dev

如何通过Youtube API v3 YouTube.PlaylistItems.List请求检索视频的时长?

来自分类Dev

Ruby + Youtube Data API v3缓慢获取视频信息

来自分类Dev

通过YouTube Data API v3在视频说明中添加新行

来自分类Dev

将视频设置为youtube data api v3中的收藏夹

来自分类Dev

Ruby + Youtube Data API v3缓慢获取视频信息

来自分类Dev

通过YouTube Data API v3在视频说明中添加新行

来自分类Dev

带有分页问题的Youtube Data API v3 Java搜索

来自分类Dev

在PowerShell中将秒转换为hh:mm:ss,fff格式

来自分类Dev

如何在Windows Universal App中使用Youtube Data API v3和视频ID播放视频

来自分类Dev

Youtube v3 API视频语言

来自分类Dev

在Rails 3中将时间DD:hh:mm:ss格式转换为秒

来自分类Dev

YouTube Data API v3评论列表

来自分类Dev

youtube data api v3 php搜索分页?

来自分类Dev

YouTube Data API v3直接表格上传

来自分类Dev

YouTube Data API v3每日查询配额问题

来自分类Dev

youtube data api v3 php搜索分页?

来自分类Dev

文件系统上的Youtube Data API v3

来自分类Dev

尝试使用 Youtube Data API(V3) 将视频上传到 youtube 时,YoutubeAPI 返回 401 Invalid Credentials 错误

来自分类Dev

为什么嵌入式YouTube视频上周工作时说“视频不可用”?无需更改代码,Youtube Data V3 API

来自分类Dev

在 Java 中将 HH:mm:ss 转换为毫秒

来自分类Dev

使用Youtube V3 API的YouTube相关视频

来自分类Dev

在Java中将日期格式“ EEE MMM dd HH:mm:ss zzzz yyyy”转换为“ yyyy-MM-dd'T'HH:mm:ss”

Related 相关文章

  1. 1

    在Java中将Youtube Data API V3视频时长转换为hh:mm:ss格式?

  2. 2

    在PHP中将Youtube Data API V3视频时长格式转换为标准时间

  3. 3

    在JavaScript / Node.js中将Youtube Data API V3视频时长格式转换为秒

  4. 4

    在PHP中转换YouTube Api v3视频时长

  5. 5

    在Data Studio中将秒转换为MM:HH:SS

  6. 6

    Youtube API hh:mm:ss格式的seekTo()

  7. 7

    使用YouTube Data API获得视频时长?

  8. 8

    如何通过Youtube API v3 YouTube.PlaylistItems.List请求检索视频的时长?

  9. 9

    Ruby + Youtube Data API v3缓慢获取视频信息

  10. 10

    通过YouTube Data API v3在视频说明中添加新行

  11. 11

    将视频设置为youtube data api v3中的收藏夹

  12. 12

    Ruby + Youtube Data API v3缓慢获取视频信息

  13. 13

    通过YouTube Data API v3在视频说明中添加新行

  14. 14

    带有分页问题的Youtube Data API v3 Java搜索

  15. 15

    在PowerShell中将秒转换为hh:mm:ss,fff格式

  16. 16

    如何在Windows Universal App中使用Youtube Data API v3和视频ID播放视频

  17. 17

    Youtube v3 API视频语言

  18. 18

    在Rails 3中将时间DD:hh:mm:ss格式转换为秒

  19. 19

    YouTube Data API v3评论列表

  20. 20

    youtube data api v3 php搜索分页?

  21. 21

    YouTube Data API v3直接表格上传

  22. 22

    YouTube Data API v3每日查询配额问题

  23. 23

    youtube data api v3 php搜索分页?

  24. 24

    文件系统上的Youtube Data API v3

  25. 25

    尝试使用 Youtube Data API(V3) 将视频上传到 youtube 时,YoutubeAPI 返回 401 Invalid Credentials 错误

  26. 26

    为什么嵌入式YouTube视频上周工作时说“视频不可用”?无需更改代码,Youtube Data V3 API

  27. 27

    在 Java 中将 HH:mm:ss 转换为毫秒

  28. 28

    使用Youtube V3 API的YouTube相关视频

  29. 29

    在Java中将日期格式“ EEE MMM dd HH:mm:ss zzzz yyyy”转换为“ yyyy-MM-dd'T'HH:mm:ss”

热门标签

归档