QT 计算两个日期时间差?(时间转时间戳)

2023-11-06

 时间戳时间转换工具

 时间换算工具

1、得出的结果单位是:天(不足一天为0,没有半天的说法)

    QDateTime time1 = QDateTime::fromString("2022-4-25 16:40:02", "yyyy-MM-dd HH:mm:ss");

    QDateTime time2 = QDateTime::fromString("2022-4-27 16:43:02", "yyyy-MM-dd HH:mm:ss");

    int days = time1.daysTo(time2);

    qDebug() << "time2 - time1=" << days ;

2、得出的结果单位是:秒或毫秒

    QDateTime time1 = QDateTime::fromString("2022-4-25 16:40:02", "yyyy-MM-dd HH:mm:ss");

    QDateTime time2 = QDateTime::fromString("2022-4-25 16:43:02", "yyyy-MM-dd HH:mm:ss");

    int seconds = time1.secsTo(time2);

    int msec = time2.msecsTo(time1);

    qDebug() << "time2 - time1=" << seconds << msec;

日期较往后的时间 放在括号内,不然得出的结果就是负数

3、获取当前日期,精确到毫秒

    //获取当前的时间
    QDateTime dTime =QDateTime::currentDateTime();
    QString sTime =dTime.toString("yyyy-MM-dd hh:mm:ss:zzz");

注:小时那里HH和hh的区别, 比如下午三点,HH就是15,hh就是03

4、时间转时间戳

方式一:toTime_t,这种方法转成时间戳的时候只能精确到s,不能直接在后面*1000就代表能精确到ms了,这是错的!

    QDateTime dTime =QDateTime::currentDateTime();
    dTime.setTimeSpec(Qt::LocalTime);//一定一定要设置。不然后面通过时间戳转过来的日期对不上
    int iCutTimeStamp = dTime.toTime_t(); //将当前时间转为时间戳 s 
   
    

这种方法的时间戳转时间对应的方法是:

QDateTime dateTime1 = QDateTime::fromTime_t(cut_timestamp2);

方式二:可以精确到ms

    QDateTime date = QDateTime::currentDateTime();
    //基础单位为豪秒 时间戳
    qDebug() << time1.toMSecsSinceEpoch();

这种方法对应的时间戳转时间的方法是:

 QDateTime dd = QDateTime::fromMSecsSinceEpoch(date.toMSecsSinceEpoch());
 qDebug() << dd.toString("yyyy-MM-dd hh:mm:ss");

注:int值超过10位就会溢出,用时间戳计算时间差的时候用秒为单位即可,不然用ms为单位来计算会出bug的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT 计算两个日期时间差?(时间转时间戳) 的相关文章

随机推荐

  • Android C2DM----客户端

    一 基础知识 在前一部分中 我们从整体上快速介绍并实现了下Android C2DM的Push功能 在接下来的部分里 我们先来回顾一下C2DM相关的整体上的知识 然后具体介绍说明实现的过程 在前面的C2DM框架说明中 我们已经知道 要实现An
  • 认识设计组件帮助测试,以提高产品用户体验

    一 控制元素 1 活动指示器 应与背景想协调 用于持续时间不明的进程 单一元素不显示 大于1个显示 2 加载控件 同一个专区页面 加载样式统一 3 页码控制器 原点最好控制在5点内 左右滑动 点击原点可切换 4 刷新控件 下拉刷新 反馈内容
  • ftp上传文件到华为云服务器,如何上传ftp文件到云服务器

    如何上传ftp文件到云服务器 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 华为云帮助中心 为用户提供产品简介 价格说明
  • Word中关闭EndNote自动更新格式

    问题 我们在用Endnote和Word协作撰写论文时 有时需要在Word中修改一些细小的参考文献格式 但是可能存在刚修改完 EndNote就自动检测到修改 并更新设置 回到了修改前的样子 解决方案 我们只需要在Word中将EndNote插件
  • Inno Setup入门(二十一)——Inno Setup类参考(7)

    复选框 复选框 CheckBox 用于多个并不互斥的几个选项中作出一个或者多选择 例如字体可以有粗体 斜体和下划线 这三种状态可以任意组合 像这样的选项可以采用复选框实现 Pascal脚本中对应的类是TcheckBox 其定义如下 lt x
  • char*转LPCWSTR的两种方法

    char 转LPCWSTR的两种方法 MultiByteToWideChar mbstowcs MultiByteToWideChar 将char 类型转换为LPCWSTR类型可以使用MultiByteToWideChar函数 这个函数可以
  • min_sample_split 和min_sample_leaf区别

    所以基本上 min sample split是分割所需的最小样本数 例如 如果min sample split 6并且节点中有4个样本 则不会发生拆分 不管熵是多少 在 另一方面 min sample leaf基本上是叶节点所需的最小样本数
  • 【经典买点】MACD指标的八种买入形态图解

    MACD指标中的DIF和MACD DIF和DEA两线 按照其金叉时在零轴上 下的位置 和金叉前是否发生过死叉 死叉发生的位置 有八种形态图形 它们分别是 佛手向上 小鸭出水 漫步青云 天鹅展翅 空中缆绳 空中缆车 海底电缆和海底捞月 本文转
  • Linux之你容易忽略的计算机组成知识

    来自鸟哥的私房菜 1 南北桥 整个主板上面最重要的就是芯片组了 而芯片组通常又分为两个网桥来控制各组件的沟通 分别是 1 北桥 负责链接速度较快的 CPU 主存储器不显示适配器等组件 2 南桥 负责连接速度较慢的周边接口 包括硬盘 USB
  • 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一 题目 已知两个非降序链表序列S1与S2 设计函数构造出S1与S2的交集新链表S3 输入格式 输入分两行 分别在每行给出由若干个正整数构成的非降序序列 用 1表示序列的结尾 1不属于这个序列 数字用空格间隔 输出格式 在一行中输出两个输入
  • 浅谈5G 与4G的区别

    5G 顺势而生 应用广泛 包含诸多的进步 但未来依然可期 期望6G 7G 8G等等 前提 了解5G 技术 有必要了解一下 1G 2G 2 5G 3G 4G技术 1G 到4G之间的技术我们称之为蜂窝移动网路系统 正所谓长江后浪推前浪 一代更比
  • sql-labs 29 waf 绕过参数污染

    HTTP参数污染 HTTP Parameter Pollution 攻击者通过在HTTP请求中插入特定的参数来发起攻击 如果Web应用中存在这样的漏洞 可以被攻击者利用来进行客户端或者服务器端的攻击 waf服务器 tomcat 只解析重复参
  • 前端自适应布局

    在前端开发中 我们不可避免要面临适配问题 本文将介绍几种适配方式 一 px和em 1 1 px 1 2 em 二 rem 2 1 rem原理 2 2 rem如何计算的 2 3 rem使用 三 使用插件px2rem转换 3 1 原理和优点 3
  • MySQL笔记(五)使用python调用数据库进行操作

    python 访问数据库流程 在pycharm中下载pymysql 打开数据库视图 相当去navicat 设置数据库 使用python对数据库进行操作 Python2中使用的是MySQLdb模块 from pymysql import de
  • 图结构与图算法综述

    图结构与图算法综述 图结构以及图算法 无向图 有向图和网络能运用很多常用的图算法 这些算法包括 各种遍历算法 这些遍历类似于树的遍历 寻找最短路径的算法 寻找网络中最低代价路径的算法 回答一些简单相关问题 例如 图是否是连通的 图中两个顶点
  • Oracle数据库基础知识

    1 Oracle 数据库服务器体系所包含的三种主要结构是 内存结构 进程结构 存储结构 2 安装 11gR2 数据库要经过哪几个主要阶段 Grid基础架构安装 数据库软件安装 DBCA创建数据库 3 数据库实例所必须的后台进程包括 DBWn
  • QT——实战动态链接库调用

    如何在Debug模式下调用外部的动态链接库 首先在工程文件夹下 通过右键可以选择添加后 进入下图界面 选中外部库 点击下一步 选择所要调用的外部库文件debug生成的buliding文件里的libxxxxx a文件 如下图所示 点击下一步
  • 移动端中的坑和 vue中事件修饰符详解(stop, prevent, self, once, capture, passive)

    stop 是阻止冒泡行为 不让当前元素的事件继续往外触发 如阻止点击div内部事件 触发div事件 prevent 是阻止事件本身行为 如阻止超链接的点击跳转 form表单的点击提交 self 是只有是自己触发的自己才会执行 如果接受到内部
  • Eclipse 运行web项目 HTTP404错误

    Eclipse 引入web项目后 run as on server tomcat启动成功 但网页提示404 问题排查 404 服务器找不到资源 首先检查Eclipse部署路径 是否部署了资源文件 查找部署路径 发现该路经下只有一个WEB I
  • QT 计算两个日期时间差?(时间转时间戳)

    时间戳时间转换工具 时间换算工具 1 得出的结果单位是 天 不足一天为0 没有半天的说法 QDateTime time1 QDateTime fromString 2022 4 25 16 40 02 yyyy MM dd HH mm ss