• 秒数怎么转时:分:秒


      先看代码,我这里只给出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小时制转。

  • 相关阅读:
    通过反射操作泛型
    Android学习笔记_4_单元测试
    Android学习笔记_3_四种布局
    Validform 基于表单验证
    Android学习笔记_2_发送短信
    Android学习笔记_1_拨打电话
    css ul dl dt 表格分页 文本框样式
    创建properties文件保存在WEB项目的classes文件下
    PS快捷键和常用小知识
    Mysql跨数据库(在同一IP地址中)复制表
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/7162692.html
Copyright © 2020-2023  润新知