QT 秒/毫秒 转 时分秒
在日常开发时,经常会遇到计算剩余进度或者剩余时间的问题,比如计算剩余下载时间等等。本篇文章旨在提供几个常用的转换方式供各位参考。
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 秒/毫秒 转 时分秒相关推荐
- jquery 毫秒转换成日期_jquery js 秒 毫秒转时分秒
jquery js 秒 转成 几天 几小时 几分 几秒 计时器 直接上代码:function test(time_distance){ // 天时分秒换算 var int_day = Math.flo ...
- js实现将时分秒转化成毫秒,将秒转化成时分秒
// 时间转为毫秒 timeToSec(time) {var hour = time.split(':')[0]var min = time.split(':')[1]var sec = time.s ...
- 将时间戳转换成日期格式,毫秒转时分秒
1.将时间戳转换成日期格式 函数封装好了,直接调用就好了,直接贴码. /* * 时间戳转换成日期格式 * 例:1648028064760 -----→ 2022-03-23 17:34:24 * */ ...
- python 实现时间转换 秒单位转换为时分秒表示
代码: """ @author: zhangjun.xue @time: 2020/5/25 17:46 @file: str_of_num.py @desc: pyth ...
- java 毫秒转时分秒格式(Java中将毫秒数转为*天*小时*分*秒)
文章目录 将毫秒 换算成(天 时 分 秒 毫秒) 将毫秒 换算成(天 时 分 秒 毫秒) 背景: 如果只有50秒,就显示50秒 如果有1分钟以上,就显示1分钟XX秒 如果有1小时以上,就显示x小时y分 ...
- JS将秒数换算成时分秒 以及转化为年月日 时分秒
<script language="javascript">/*** 将秒数换成时分秒格式* 作者:龙周峰*/function formatSeconds(value) ...
- Qt将毫秒转化为时分秒格式
在做视频回放的时候,可以通过player.duration()的形式获得视频总时长,单位是ms,如得到时长为1137661ms,为了在页面上通过一定的格式显示,需要将毫秒转化为时分秒的形式,转化方法很 ...
- mysql函数时分秒转换_mysql函数 秒转换成时分秒
方法一: CREATE DEFINER=`root`@`%` FUNCTION `timeDifference`(Dirty VARCHAR ( 500 )) RETURNS text CHARSET ...
- js 将秒数换算成时分秒
<script language="javascript">/*** 将秒数换成时分秒格式* 作者:龙周峰*/function formatSeconds(value) ...
最新文章
- 读一个文件的java程序_java 读文件的几种方法(一)
- Windows Phone开发:常用控件(上)
- GDB调试器使用手册
- 软件工程-东北师大站-第十二次作业(PSP)
- 漫画:互联网人的十二时辰,程序员有多惨?
- Rails non browser app高级篇-capistrano/daemon部署
- 【彩彩只能变身队】后端工作总结
- .NET 中的泛型 101
- [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
- Java架构师必备框架技能核心笔记,工作感悟
- JDK 1.5 HashMap 源代码读解
- Tsys1.1使用经验(汇集中)
- python求偏度系数_python pandas库和stats库计算偏度和峰度(附程序)
- Coursera 斯坦福大学科学论文写作课程笔记(一)
- 网易云音乐推出“云村乐评路灯”开学季策划 再造刷屏事件营销
- 咳血的独角兽丨互联网的幕后攻防
- 十分钟用Python画一片雪花
- 【云原生 | 44】Docker搭建Registry私有仓库之管理访问权限
- 什么是幻读?以及如何解决幻读?
- mybatis在实际项目中常见的排坑配置
热门文章
- 移动信号e经常无服务器,手机信号差,从4G突然变成“E”?真实原因是这样的!...
- (附源码)计算机毕业设计ssm菜鸟驿站快递分发系统
- Socket 编程实现基于 HTTP 协议的客户和服务
- 2021年熔化焊接与热切割试题及解析及熔化焊接与热切割作业考试题库
- Bug[5] 多路连接客户服务器,发送一路数据时,其他几路自动断开,查询PDP显示未被激活
- 软件开发的两种结构:cs/bs以及优缺点
- seo的asp.net的分词包
- 下列不属于未来发展的计算机技术是,计算机系统结构自考2017年10月真题
- PHP程序员的工作内容复杂吗?如何更快完成交代的任务?
- win2008服务器终端多用户同时连接,Win2008下如何实现远程多用户共享