zoukankan      html  css  js  c++  java
  • 秒数怎么转时:分:秒

      先看代码,我这里只给出main方法直接跑起来看:

    public static void main(String[] args)
        {
            long totalDuration = 62907;
            String audioDuration = null;
            if (totalDuration >= 0)
            {
                
                SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); // 24小时制
                
                // 1、当前系统默认时区,按时分秒格式化
                audioDuration = formatter.format(totalDuration * 1000);
                System.out.printf("当前时区: %s
    ", audioDuration);
                
                System.out.printf("当前时区与格林尼治相差%s个小时
    ", TimeZone.getDefault().getRawOffset() / (3600 * 1000));
                // 2、当前系统默认时区转换为GMT时区,按时分秒格式化
                audioDuration = formatter.format(totalDuration * 1000 - TimeZone.getDefault().getRawOffset());
                System.out.printf("格林尼治时区: %s
    ", audioDuration);
                
                formatter = new SimpleDateFormat("hh:mm:ss"); // 12小时制
                // 当前系统默认时区转换为GMT时区,按时分秒格式化
                audioDuration = formatter.format(totalDuration * 1000 - TimeZone.getDefault().getRawOffset());
                System.out.printf("格林尼治时区: %s
    ", audioDuration);
            }
            
        }

      运行结果:

    当前时区: 01:28:27
    当前时区与格林尼治相差8个小时
    格林尼治时区: 17:28:27
    格林尼治时区: 05:28:27

      可以看到,当前是中国的北京时区,62907秒转换后是凌晨1点28分27秒,而格林尼治时间晚我们8个小时,所以他们当前才下午5点。

      我们这里并不是转换日期,而是把累计起来的秒数转换为时分秒格式,直接计算很明显62907是17小时28分27秒 (直接拿62907去除3600),所以我们不能按当前时区转,也不能按12小时制转,只能按GMT时区的24小时制转。

  • 相关阅读:
    [k8s]通过svc来访问集群podhttp://api:8080/api/v1/namespaces/default/services/mynginx/proxy/
    redis 常用配置
    mysql 查询重复值命令
    maven3常用命令创建Project
    nginx如何解决超长请求串
    hbase 使用备忘
    Top命令内存占用剖析
    linux 模拟延时和丢包
    hbase命令备忘
    linux grep命令总结
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/7162692.html
Copyright © 2011-2022 走看看