【Qt】QDateTimeEdit

news2025/1/16 0:57:26

在Qt中,QDateEdit是用于选择日期的微调框,QTimeEdit是用于选择小时和分钟的微调框

QDateTimeEdit则是基于QDateEdit和QTimeEdit的组合控件,能够同时显示日期和时间,并允许用户以交互方式编辑日期 

常用属性

属性说明
dateTime时间日期的值,形如2000/1/1 0:00
date单纯日期的值,形如2000/1/1
time单纯时间的值,形如0:00
displayFormat

时间日期格式,形如yyyy/M/d H:mm   2024/07/31 09:35

  • y表示年份
  • M表示月份
  • d表示日期
  • H表示小时
  • m表示分钟
  • s表示秒
minimumDateTime最小时间日期
maximumDateTime最大时间日期
timeSpec
  • Qt::LocalTime:显示本地时间
  • Qt::UTC:显示协调世界时(UTC)
  • Qt::OffsetFromUTC:显示相对于UTC的偏移量(时差)

核心信号

信号说明
dateChanged(QDate)日期改变时触发
timeChanged(QTime)时间改变时触发
dateTimeChanged(QDateTime)时间日期任意一个改变都会触发

QDateTime

QDateTime是处理日期和时间的类,提供了丰富的功能和方法来管理和操作日期时间数据,支持高精度和灵活的操作

常用API

  • 获取日期/时间
    //静态成员函数
    static QDateTime currentDateTime();//返回当前本地日期时间
    static QDateTime currentDateTimeUTC();//返回当前UTC日期时间
    //成员函数
    QDate date() const;//返回日期部分
    QTime time() const;//返回时间部分
    
  • 设置日期/时间

    void setDate(const QDate &date);//设置日期部分
    void setTime(const QTime &time);//设置时间部分
    void setDateTime(const QDateTime &dateTime);//设置日期和时间
  • 格式化和解析

    //将日期时间对象格式化为指定格式的字符串
    QString toString(Qt::DateFormat format = Qt::TextDate);
    //将指定格式的日期时间字符串,转化为QDateTime
    static QDateTime fromString(const QString &string, Qt::DateFormat format = Qt::TextDate);
  • 日期/时间运算

    QDateTime addDays(qint64 days);//增加指定天数后的日期时间
    QDateTime addSecs(qint64 secons);//增加指定秒数后的日期时间
    QDateTime addMonths(int months);//增加指定月数后的日期时间
    QDateTime addYears(int years);//增加指定年数后的日期时间
    //计算两个日期时间之间的差值
    qint64 daysTo(const QDateTime &other);//计算相差多少天,计算时只看日期不看时间
    qint64 secsTo(const QDateTime &other);//计算相差多少秒
    
  • 时区操作

    QDateTime toLocalTime();//将UTC时间转换成本地时间返回
    QDateTime toUTC();//将本地时间按UTC时间返回
    

示例:计算两个日期之间相差的时间 

#include "widget.h"
#include "ui_widget.h"

#include <QCalendarWidget>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //设置显示格式
    ui->dateTimeEdit_past->setDisplayFormat("yyyy-M-d h:mm:ss");
    ui->dateTimeEdit_cur->setDisplayFormat("yyyy-M-d h:mm:ss");
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_clicked()
{
    //获取两个日期时间
    QDateTime pastTime = ui->dateTimeEdit_past->dateTime();
    QDateTime curTime = ui->dateTimeEdit_cur->dateTime();
    int seconds = pastTime.secsTo(curTime);
    //计算相差的天数和小时数
    int hours = (seconds / 3600) % 24;
    int days = (seconds / 3600 / 24);

    ui->label->setText(QString("已经爱你") + QString::number(days) + "天零"
                       + QString::number(hours) + "小时");
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron-updater实现electron全量更新和增量更新——渲染进程UI部分

同学们可以私信我加入学习群&#xff01; 正文开始 前言更新功能所有文章汇总一、两个同心球效果实现二、球内进度条、logo、粒子元素实现2.1 球内包含几个元素&#xff1a;2.2 随机粒子生成方法generateRandomPoint2.3 创建多个粒子的方法createParticle 三、gsap创建路径动画…

基于python的百度迁徙迁入、迁出数据分析(六)

书接上回&#xff0c;苏州市我选取了2024年5月1日——5月5日迁入、迁出城市前20名并求了均值&#xff0c;从数据中可以看出苏州市与上海市的关系还是很铁的&#xff0c;都互为对方的迁入、迁出的首选且迁徙比例也接近4分之一&#xff0c;名副其实的老铁了&#xff1b; 迁出城市…

Seurat-SCTransform与harmony整合学习续(亚群分析)

目录 提取细胞亚群 SCTransform-harmony技术路线 ①亚群SCTransform标准化 ②harmony去批次 这里对上一章的内容进行补充&#xff1a; Seurat-SCTransform与harmony整合学习-CSDN博客 提取细胞亚群 rm(list ls()) library(Seurat)#好像先后需要先后加载 library(patchw…

【Jenkins】在linux上通过Jenkins编译gitee项目

因项目需求近期在linux服务器上部署了Jenkins来自动编译gitee上的项目源码&#xff0c;期间踩到了一些坑&#xff0c;花费了不少时间来处理&#xff0c;特此记录。 所需资源下载列表&#xff1a; Jenkins &#xff1a;https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.46…

文件系统 --- 重定向,缓冲区

序言 本篇文章的内容和上一篇文章 &#x1f449;点击查看 紧密相连&#xff0c;所以为了更好的理解本篇文章&#xff0c;需要大家将前置知识准备好哦&#x1f607;。  本文主要向大家介绍文件的重定向&#xff0c;以及基于用户级别的缓冲区和基于操作系统级别的缓冲区。原来看…

AI技术和大模型对人才市场的影响

012024 AI技术和大模型 2024年AI技术和大模型呈现出多元化和深入融合的趋势&#xff0c;以下是一些关键的技术方向和特点&#xff1a; 1. 生成式AI 生成式AI&#xff08;Generative AI&#xff09;在2024年继续快速发展&#xff0c;它能够创造全新的内容&#xff0c;而不仅仅…

Redis——有序集合

目录 1. 添加元素 ZADD 2. 查看全部元素 ZRANGE 3. 查看某个元素的分数 ZSCORE 4. 查看元素的排名 ZRANK SortedSet 也叫 ZSet ,即有序集合&#xff0c; 有序集合与集合的区别&#xff1a; 有序集合的每个元素都会关联一个浮点类型的分数&#xff0c;依赖该分数的的大小对…

《Milvus Cloud向量数据库指南》——多模态融合新纪元:音频、视频与文本的无缝转换

在探讨多模态数据处理与应用的广阔领域中,多模态文本、音频、视频数据的融合与交互成为了近年来人工智能研究的热点之一。这一趋势不仅推动了技术的深度发展,也为众多行业带来了前所未有的创新机遇。本文将深入剖析多模态文本-音频与多模态文本-视频RAG(Retrieval-Augmented…

书生大模型基础岛-第三关:LangGPT结构化提示词编写实践

1.来源和任务 来源&#xff1a; https://github.com/InternLM/Tutorial/blob/camp3/docs/L1/Prompt/task.md 任务&#xff1a; 背景问题&#xff1a;近期相关研究发现&#xff0c;LLM在对比浮点数字时表现不佳&#xff0c;经验证&#xff0c;internlm2-chat-1.8b (internlm2-…

C++——list容器以及手动实现

LIST容器 list概述列表容器属性例子 list函数构造函数默认构造函数&#xff1a;带有元素个数和元素初值的构造函数&#xff1a;范围构造函数&#xff1a;拷贝构造函数&#xff1a;移动构造函数&#xff1a;示例 赋值运算符重载拷贝赋值操作符 (1)&#xff1a;移动赋值操作符 (2…

安全通信|数据加密的由来|加密算法简介|中间人攻击与证书认证|身份验证

&#x1f448;️下一篇 计算机网络-专栏&#x1f448;️ 数据加密的由来|加密算法简介|中间人攻击与证书认证 引言 在客户端(client)-服务器(server)模式下&#xff0c;客户端与服务器间通信&#xff0c;如果明文传输数据&#xff0c;在传输过程被劫持&#xff0c;内容直接泄…

MySQL触发器和存储过程

1、触发器 &#xff08;1&#xff09;&#xff1a;建立触发器&#xff0c;订单表中增加订单数量后&#xff0c;商品表商品数量同步减少对应的商品订单出数量,并测试 mysql> create trigger orders_after_insert_trigger-> after insert on orders for each row-> up…

不知道你们有没有我这样的一种状态...总是这样又总是那样...

各位小伙伴们&#xff0c;我是风尚&#xff0c;我不知道你们有没有那么一刻&#xff0c;就是感觉站在人生的十字路口&#xff0c;感觉自己就像是被扔进了一个没有导航的迷宫&#xff0c;四周都是墙&#xff0c;头顶是蓝天白云&#xff0c;却怎么也找不到出口的方向&#xff1f;…

重磅推荐!GBD再度登顶Lancet!| GBD数据库周报(7.17~7.23)

全球疾病负担&#xff08;GBD&#xff09;是迄今为止规模最大、最全面的一项研究&#xff0c;旨在量化不同地区和不同时期的健康损失&#xff0c;从而改善卫生系统并消除差异。 该研究由华盛顿大学健康指标与评估研究所 (IHME) 牵头&#xff0c;是一项真正的全球性研究&#xf…

MySQL--数据库与表的操作

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 数据库的基本操作 # 1、查看数据库show databases;​# 2、创建数据库create database 数据库名称;​# 3、删除数据库drop databse 数据库名称; 数据表…

RAC(Teamcenter )开发,Bom行解包和打包的方法

1、打包 UnpackAllAction allAction new UnpackAllAction((AbstractBOMLineViewerApplication) currentApplication, "packAllAction"); new Thread(allAction).start();2、解包 UnpackCommand command new UnpackCommand(bomLine); command.executeModal();3、注…

Marin说PCB之Orcad Capture调网表时出现了“Duplicate Pin Name”该怎么搞?

最近大巴黎在如火如荼的举行着奥运会&#xff0c;中国健儿们也是不负众望在很多项目中取得金牌的好成绩&#xff0c;其中中国选手陈芋汐/全红婵夺得巴黎奥运会跳水女子双人10米台金牌&#xff0c;其实没有看我就知道比赛的结果了&#xff0c;肯定是我们中国队夺得金牌的。 看到…

月薪竟然高达60k,AI大模型凭什么?

你是不是最近经常看到或听到“AI大模型”这个关键词&#xff1f;我也是&#xff01;所以好奇去Boss直聘上搜了下工作机会。看到结果时&#xff0c;我有点不淡定了&#xff01;薪资竟然这么高&#xff01; 这是我随便搜的结果&#xff0c;发出来给大家看看。 下面&#xff0c;我…

多线程习题

1.使用两个线程完成两个文件的拷贝&#xff0c;分支线程1拷贝前一半&#xff0c;分支线程拷贝后一般&#xff0c;主线程回收两个分支线程的资源 #include<myhead.h> struct Buf {const char *srcfile;const char *destfile;int start;int len1; }; //创建求源文件大小的函…