在日常开发时,经常会遇到计算剩余进度或者剩余时间的问题,比如计算剩余下载时间等等。本篇文章旨在提供几个常用的转换方式供各位参考。

1、秒转时分秒(方法壹)

QString FormatHHMMSS(qint32 total)
{int hh = total / (60 * 60);int mm = (total- (hh * 60 * 60)) / 60;int ss = (total - (hh * 60 * 60)) - mm * 60;QString hour = QString::number(hh, 10);QString min = QString::number(mm, 10);QString sec = QString::number(ss, 10);if (hour.length() == 1)hour = "0" + hour;if (min.length() == 1)min = "0" + min;if (sec.length() == 1)sec = "0" + sec;QString strTime = hour + ":" + min + ":" + sec;return strTime;
}

2、秒转时分秒(方法贰)

借助进制转换与补零,可参考文章:https://hellokandy.blog.csdn.net/article/details/123003917

QString FormatHHMMSS2(qint32 total)
{int hh = total / (60 * 60);int mm = (total- (hh * 60 * 60)) / 60;int ss = (total - (hh * 60 * 60)) - mm * 60;QString strTime = QString("%1:%2:%3").arg(hh, 2, 10, QLatin1Char('0')).arg(mm, 2, 10, QLatin1Char('0')).arg(ss, 2, 10, QLatin1Char('0'));return strTime;
}

3、毫秒转时分秒(修正版)

注意:需要把“天”计算到“时”里面才是正确的答案!

QString FormatHHMMSS3(qint64 ms)
{int ss = 1000;//msint mm = ss * 60;int hh = mm * 60;int dd = hh * 24;qint64 day = ms / dd;qint64 hour = (ms - day * dd) / hh;qint64 minute = (ms - day * dd - hour * hh) / mm;qint64 second = (ms - day * dd - hour * hh - minute * mm) / ss;qint64 milliSecond = ms - day * dd - hour * hh - minute * mm - second * ss;QString strTime = QString("%1:%2:%3").arg(hour + day * 24, 2, 10, QLatin1Char('0')).arg(minute, 2, 10, QLatin1Char('0')).arg(second, 2, 10, QLatin1Char('0'));return strTime;
}

测试代码

int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);qint64 s = 123456;qDebug() << "hhmmss=" << FormatHHMMSS(s);qDebug() << "hhmmss2=" << FormatHHMMSS2(s);qDebug() << "hhmmss3=" << FormatHHMMSS3(s * 1000);return a.exec();
}

QTime时间格式转换

注意:这种方式对于超过一天的计算是不准确的,需要自己单独先计算是否超过了一天

int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);qint64 s = 123456;//一天的总秒数:86400=24*60*60QString tm = QTime(0, 0, 0).addSecs(int(s)).toString(QString::fromLatin1("HH:mm:ss"));qDebug() << tm;return a.exec();
}

QT 秒/毫秒 转 时分秒相关推荐

  1. jquery 毫秒转换成日期_jquery js 秒 毫秒转时分秒

    jquery js 秒 转成 几天 几小时 几分 几秒 计时器 直接上代码:function test(time_distance){ // 天时分秒换算 var int_day = Math.flo ...

  2. js实现将时分秒转化成毫秒,将秒转化成时分秒

    // 时间转为毫秒 timeToSec(time) {var hour = time.split(':')[0]var min = time.split(':')[1]var sec = time.s ...

  3. 将时间戳转换成日期格式,毫秒转时分秒

    1.将时间戳转换成日期格式 函数封装好了,直接调用就好了,直接贴码. /* * 时间戳转换成日期格式 * 例:1648028064760 -----→ 2022-03-23 17:34:24 * */ ...

  4. python 实现时间转换 秒单位转换为时分秒表示

    代码: """ @author: zhangjun.xue @time: 2020/5/25 17:46 @file: str_of_num.py @desc: pyth ...

  5. java 毫秒转时分秒格式(Java中将毫秒数转为*天*小时*分*秒)

    文章目录 将毫秒 换算成(天 时 分 秒 毫秒) 将毫秒 换算成(天 时 分 秒 毫秒) 背景: 如果只有50秒,就显示50秒 如果有1分钟以上,就显示1分钟XX秒 如果有1小时以上,就显示x小时y分 ...

  6. JS将秒数换算成时分秒 以及转化为年月日 时分秒

    <script language="javascript">/*** 将秒数换成时分秒格式* 作者:龙周峰*/function formatSeconds(value) ...

  7. Qt将毫秒转化为时分秒格式

    在做视频回放的时候,可以通过player.duration()的形式获得视频总时长,单位是ms,如得到时长为1137661ms,为了在页面上通过一定的格式显示,需要将毫秒转化为时分秒的形式,转化方法很 ...

  8. mysql函数时分秒转换_mysql函数 秒转换成时分秒

    方法一: CREATE DEFINER=`root`@`%` FUNCTION `timeDifference`(Dirty VARCHAR ( 500 )) RETURNS text CHARSET ...

  9. js 将秒数换算成时分秒

    <script language="javascript">/*** 将秒数换成时分秒格式* 作者:龙周峰*/function formatSeconds(value) ...

最新文章

  1. 读一个文件的java程序_java 读文件的几种方法(一)
  2. Windows Phone开发:常用控件(上)
  3. GDB调试器使用手册
  4. 软件工程-东北师大站-第十二次作业(PSP)
  5. 漫画:互联网人的十二时辰,程序员有多惨?
  6. Rails non browser app高级篇-capistrano/daemon部署
  7. 【彩彩只能变身队】后端工作总结
  8. .NET 中的泛型 101
  9. [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
  10. Java架构师必备框架技能核心笔记,工作感悟
  11. JDK 1.5 HashMap 源代码读解
  12. Tsys1.1使用经验(汇集中)
  13. python求偏度系数_python pandas库和stats库计算偏度和峰度(附程序)
  14. Coursera 斯坦福大学科学论文写作课程笔记(一)
  15. 网易云音乐推出“云村乐评路灯”开学季策划 再造刷屏事件营销
  16. 咳血的独角兽丨互联网的幕后攻防
  17. 十分钟用Python画一片雪花
  18. 【云原生 | 44】Docker搭建Registry私有仓库之管理访问权限
  19. 什么是幻读?以及如何解决幻读?
  20. mybatis在实际项目中常见的排坑配置

热门文章

  1. 移动信号e经常无服务器,手机信号差,从4G突然变成“E”?真实原因是这样的!...
  2. (附源码)计算机毕业设计ssm菜鸟驿站快递分发系统
  3. Socket 编程实现基于 HTTP 协议的客户和服务
  4. 2021年熔化焊接与热切割试题及解析及熔化焊接与热切割作业考试题库
  5. Bug[5] 多路连接客户服务器,发送一路数据时,其他几路自动断开,查询PDP显示未被激活
  6. 软件开发的两种结构:cs/bs以及优缺点
  7. seo的asp.net的分词包
  8. 下列不属于未来发展的计算机技术是,计算机系统结构自考2017年10月真题
  9. PHP程序员的工作内容复杂吗?如何更快完成交代的任务?
  10. win2008服务器终端多用户同时连接,Win2008下如何实现远程多用户共享