qt QDateTime详解

1. 概述

QDateTime 是 Qt 框架中用于处理日期和时间的类。它将 QDate 和 QTime 组合在一起,提供了日期时间的统一处理方案。QDateTime 可以精确到毫秒,并支持时区处理。

2. 重要方法

构造函数:

  •    QDateTime()  构造无效的日期时间
  •    QDateTime(const QDate &date, const QTime &time, Qt::TimeSpec spec = Qt::LocalTime)
  •    QDateTime::currentDateTime()  获取当前日期时间

 日期时间操作:

  •    addDays(qint64 days)  添加天数
  •    addMonths(int months)  添加月份
  •    addYears(int years)  添加年份
  •    addSecs(qint64 secs)  添加秒数
  •    addMSecs(qint64 msecs)  添加毫秒数

 获取信息:

  •    date()  获取日期部分
  •    time()  获取时间部分
  •    toString()  转换为字符串
  •    toTime_t()  转换为Unix时间戳

3. 重要信号

QDateTime 作为值类型,本身不发送信号。但在 QDateTimeEdit 控件中有以下相关信号:

  •  dateTimeChanged(const QDateTime &datetime)
  •  dateChanged(const QDate &date)
  •  timeChanged(const QTime &time)

4. 常用枚举类型

Qt::DateFormat:

  •  Qt::TextDate      // 文本格式 (例如: "Mon May 20 03:40:13 1998")
  •  Qt::ISODate       // ISO 8601格式 (例如: "19980520T03:40:13")
  •  Qt::SystemLocaleDate  // 系统本地格式
  •  Qt::LocalDate     // 本地格式
     
#include <QDateTime>
#include <QDebug>

int main() {
    // 获取当前日期时间
    QDateTime currentDateTime = QDateTime::currentDateTime();
    qDebug() << "当前日期和时间:" << currentDateTime.toString();

    // 格式化输出
    qDebug() << "自定义格式:" << currentDateTime.toString("yyyy-MM-dd hh:mm:ss");

    // 获取时间戳
    qint64 timestamp = currentDateTime.toSecsSinceEpoch();
    qDebug() << "Unix时间戳:" << timestamp;

    // 从时间戳创建QDateTime
    QDateTime fromTimestamp = QDateTime::fromSecsSinceEpoch(timestamp);
    qDebug() << "从时间戳创建:" << fromTimestamp.toString();

    // 日期时间计算
    QDateTime tomorrow = currentDateTime.addDays(1);
    qDebug() << "明天:" << tomorrow.toString();

    QDateTime nextMonth = currentDateTime.addMonths(1);
    qDebug() << "下个月:" << nextMonth.toString();

    // 比较日期时间
    if(currentDateTime < tomorrow) {
        qDebug() << "当前时间早于明天";
    }

    // 获取日期和时间分量
    qDebug() << "年:" << currentDateTime.date().year();
    qDebug() << "月:" << currentDateTime.date().month();
    qDebug() << "日:" << currentDateTime.date().day();
    qDebug() << "时:" << currentDateTime.time().hour();
    qDebug() << "分:" << currentDateTime.time().minute();
    qDebug() << "秒:" << currentDateTime.time().second();

    return 0;
}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/923684.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法

本文由Markdown语法编辑器编辑完成。 1. 需求背景: 最近在启动一个服务时&#xff0c;突然发现它的一个接口&#xff0c;被另一个服务ip频繁的请求。 按理说&#xff0c;之前设置的是&#xff0c;每隔1分钟请求一次接口。但从日志来看&#xff0c;则是1秒钟请求一次&#xff…

imx-6ULL uboot 移植

写在前面&#xff1a; 本文章旨在总结备份、方便以后查询&#xff0c;由于是个人总结&#xff0c;如有不对&#xff0c;欢迎指正&#xff1b;另外&#xff0c;内容大部分来自网络、书籍、和各类手册&#xff0c;如若侵权请告知&#xff0c;马上删帖致歉。 目录 环境搭建交叉编…

Zookeeper选举算法与提案处理概览

共识算法(Consensus Algorithm) 共识算法即在分布式系统中节点达成共识的算法&#xff0c;提高系统在分布式环境下的容错性。 依据系统对故障组件的容错能力可分为&#xff1a; 崩溃容错协议(Crash Fault Tolerant, CFT) : 无恶意行为&#xff0c;如进程崩溃&#xff0c;只要…

零地址挂页

零地址 如果我们有比较好的C编程基础&#xff0c;我们就会知道&#xff0c;我们在代码中定义了一个零地址或者空指针&#xff0c;那么它实际上会指向虚拟内存的零地址&#xff0c;多数操作系统&#xff0c;包括Win&#xff0c;在进程创建的时候&#xff0c;都会空出前64k的空间…

leetcode:222完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最…

【小白学机器学习36】关于独立概率,联合概率,交叉概率,交叉概率和,总概率等 概念辨析的例子

目录 1 先说结论 2 联合概率 3 边缘概率 4 (行/列)边缘概率的和 总概率1 5 条件概率 5.1 条件概率的除法公式 5.2 条件概率和联合概率区别 1 先说结论 关于独立概率&#xff0c;联合概率&#xff0c;交叉概率&#xff0c;交叉概率和&#xff0c;总概率 类型含义 …

【前端】ES6基础

1.开发工具 vscode地址 :https://code.visualstudio.com/download, 下载对应系统的版本windows一般都是64位的 安装可以自选目录&#xff0c;也可以使用默认目录 插件&#xff1a; 输入 Chinese&#xff0c;中文插件 安装&#xff1a; open in browser&#xff0c;直接右键文件…

《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频&#xff1a; https://www.bilibili.com/video/BV1TYBhYKECK/ 《安富莱嵌入式周报》第346期&#xff1a;开源2GHz带…

《白帽子讲Web安全》13-14章

《白帽子讲Web安全》13-14章 《白帽子讲Web安全》13-14章13、应用层拒绝服务攻击13.1、DDOS简介13.2、应用层DDOS13.2.1、CC攻击13.2.2、限制请求频率13.2.3、道高一尺&#xff0c;魔高一丈 13.3、验证码的那些事儿13.4、防御应用层DDOS13.5、资源耗尽攻击13.5.1、Slowloris攻击…

51单片机从入门到精通:理论与实践指南(一)

单片机在智能控制领域的应用已非常普遍&#xff0c;发展也很迅猛&#xff0c;学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出&#xff0c;但51单片机价格低廉、易学易用、性能成熟&#xff0c;在家电和工业控制中有一定的应用&#xff0c;而且学好了51单片机&…

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中&#xff0c;人们忙于工作和事业&#xff0c;社交圈子相对狭窄&#xff0c;寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式&#xff0c;在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…

Python中的简单爬虫

文章目录 一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务器和浏览器的通讯流程3. 浏览器访问Web服务器的通讯流程4. 加载图片资源代码 二. 基于Web请求的FastAPI通用配置1. 目前Web服务器存在问题2. 基于Web请求的FastAPI通用配置 三. Python爬虫介绍1. 什…

uni-app运行 安卓模拟器 MuMu模拟器

最近公司开发移动端系统&#xff0c;使用真机时每次调试的时候换来换去的麻烦&#xff0c;所以使用模拟器来调试方便。记录一下安装和连接的过程 一、安装MuMu模拟器 百度搜索MuMu模拟器并打开官网或者点这里MuMu模拟器官网 点击下载模拟器 安装模拟器&#xff0c;如果系统…

mydocker

Docker容器特点 轻量级&#xff1a;在同一台宿主机上的容器共享系统 Kerel &#xff0c;这使得它们可以迅速启动而且占用内存极少。镜像是以分层文件系统构造的&#xff0c;这可以让它们共享相同的文件&#xff0c;使得磁盘使用率和镜像下载速度得到提高。开放&#xff1a;Doc…

JVM详解:垃圾回收机制

java作为大型服务开发的主流语言&#xff0c;其运行会占用大量的内存空间&#xff0c;那么合理的使用有限的服务器资源至关重要。和大多数翻译性语言一样&#xff0c;java的运行环境jvm也内置垃圾回收机制&#xff0c;其通过一些合理的算法组合&#xff0c;定时来对堆中保存的不…

Kali2024.4切换xfce主题输入法失效问题

目前感觉linux下比较好用的输入法就是google pinyin&#xff0c;常规的安装 sudo apt install fcitx im-configsudo apt install fcitx-googlepinyin然而在切换主题后&#xff0c;输入法不好用了&#xff0c;手动添加输入法也是找不到的状态&#xff0c;进入排查步骤&#xff…

C++初阶学习第十三弹——容器适配器和优先级队列的概念

目录 一.容器适配器 1.2deque的原理介绍 1.3deque与vector和list的比较&#xff0c;以及deque的缺陷 1.4为什么选择deque作为stack和queue的底层默认容器&#xff1f; stack的模拟实现 queue的模拟实现 二.优先级队列 2.1priority_queue的使用 三、总结 一.容器适配器 s…

C++ 优先算法 —— 无重复字符的最长子串(滑动窗口)

目录 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 3. 代码实现 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口 题目&#xff1a; 无重复字符的最长子串 1. 题目解析 题目截图&#xff1a; 此题所说的…

easyui combobox 只能选择第一个问题解决

easyui combobox 只能选择第一个问题解决 问题现象 在拆分开票的时候&#xff0c;弹出框上面有一个下拉框用于选择需要新增的明细行&#xff0c;但是每次只能选择到第一个 选择第二条数据的时候默认选择到第一个了 代码如下 /*新增发票编辑窗口*/function addTicketDialog…

机器学习周志华学习笔记-第6章<支持向量机>

机器学习周志华学习笔记-第6章<支持向量机> 卷王&#xff0c;请看目录 6支持向量机6.1 函数间隔与几何间隔6.1.1 函数间隔6.1.2 几何间隔 6.2 最大间隔与支持向量6.3 对偶问题6.4 核函数6.5 软间隔支持向量机6.6 支持向量机6.7核方法 6支持向量机 支持向量机是一种经典…