QDateTime类的部分函数使用解析

article/2025/10/15 12:27:39

QDateTime类提供了日期和时间功能。
QDateTime对象包含一个日历日期和一个时钟时间(一个“日期时间”)。它是QDate和QTime两个类的组合。它可以从系统时钟中读取当前日期时间。它提供比较日期时间和操作日期时间的函数,比如加上一定数量的秒、天、月或年。

QDateTime对象通常可以由明白地给定的日期和时间来创建,或者使用静态函数currentDateTime()让QDateTime对象包含系统时钟的日期时间。日期时间也可以由setDate()和setTime()来改变。日期时间也可以通过使用setTime_t()函数来得到一个POSIX标准的时间,它表示的是自从1970年1月1日00:00:00以来的秒数。fromString()函数通过一个给定的字符串和在字符串中日期时间格式的间隔说明就可以返回一个QDateTime。

date()和time()函数提供了对日期和时间的访问。toString()提供了文本格式的相同信息。

例子:

//.h文件:
//定义槽函数:
private slots:
void XTTime();
void on_pushButton_5_clicked();
void on_pushButton_6_clicked();/*在ui界面中添加两个按键pushButton_5,pushButton_6
自动关联on_pushButton_5_clicked(),on_pushButton_6_clicked()函数;
*/
//.cppvoid MainWindow::on_pushButton_5_clicked()
{//定义定时器 每秒触发一次xtTimer = new QTimer(this);connect(xtTimer,SIGNAL(timeout()),this,SLOT(XTTime()));xtTimer->start(1000);}void MainWindow::XTTime()
{QDateTime dt = QDateTime::currentDateTime();QDateTime xmas( dt.date(), QTime(17,50,00));//定义QDateTime(QDate(yyyy,MM,dd),QTime(hh,mm,ss));QDateTime ymas( dt.date(), QTime(00,00,00) );int xinNum = dt.toTime_t() - xmas.toTime_t();   //现在时间距离xmas的时间还有多少秒,由于xmas设置的时间是在未来所以返回值为负数int yinNum = dt.toTime_t() - ymas.toTime_t();   //现在时间距离ymas的时间过去多久,由于ymas设置的时间是在过去所以返回值为正数int i = dt.secsTo(xmas);//当前距离xmas还有多久,xmas在未来返回值为正,为秒int j = dt.secsTo(ymas);//当前距离ymas还有多久,ymas在过去返回值为负,qDebug()<<"Now Time = "<< dt.toString("yyyy-MM-dd hh:mm:ss");qDebug()<<"x Time = "<< xmas.toString("yyyy-MM-dd hh:mm:ss");qDebug()<<"y Time = "<< ymas.toString("yyyy-MM-dd hh:mm:ss");qDebug()<<"xinNum XTTime = "<< xinNum;qDebug()<<"yinNum XTTime = "<< yinNum;qDebug()<<"i inNumXTTime = "<< i;qDebug()<<"j inNumXTTime = "<< j;qDebug()<<"  ";
}/*与secsTo()类似的函数还有daysto()、msecsTo()函数;调用方式是一样的,但daysto()返回值为天数,msecsTo()返回值为毫秒数*/void MainWindow::on_pushButton_6_clicked()
{QDateTime dt = QDateTime::currentDateTime();QDateTime UTC0 = QDateTime::currentDateTimeUtc();qDebug()<<"Now Time UTC = "<< UTC0.toString("yyyy-MM-dd hh:mm:ss:zzz");qDebug()<<"Now Time = "<< dt.toString("yyyy-MM-dd hh:mm:ss:zzz");qDebug()<<"addDays() = "<<dt.addDays(1);qDebug()<<"addMonths() = "<<dt.addMonths(1);qDebug()<<"addMSecs() = "<<dt.addMSecs(100);qDebug()<<"addSecs() = "<<dt.addSecs(30);qDebug()<<"addYears() = "<<dt.addYears(1);//重新配置年月日秒 毫秒的值 :正数表示增加 负数表示减少//获取日期 获取时间QDateTime now1 = QDateTime::currentDateTime();qDebug()<<"date() = "<< now1.date().toString("yyyy-MM-dd");qDebug()<<"time() = "<< now1.time().toString("hh:mm:ss");//UTC:表示为协调世界时间  local:中国标准时间(现场相关的时间(时区和夏令时))QDateTime UTC(QDateTime::currentDateTimeUtc());QDateTime local(UTC.toLocalTime());qDebug() << "UTC time is:" << UTC;qDebug() << "Local time is:" << local;qDebug() << "No difference between times:" << UTC.secsTo(local);qDebug() << "UTC toOffsetFromUtc() " << UTC.toOffsetFromUtc(100);qDebug() << "local toOffsetFromUtc() " << local.toOffsetFromUtc(60);//自动从LocalTime转化为UTC 在进行运算qDebug() << "local toMSecsSinceEpoch() " << local.toMSecsSinceEpoch();qDebug() << "local toTimeSpec() " << local.toTimeSpec(Qt::LocalTime);qDebug() << "UTC setTimeSpec(Qt::TimeSpec spec): ";//设置TimeSpec的类型UTC.setTimeSpec(Qt::UTC);qDebug() << "UTC time is:" << UTC;}/*
Qt::TimeSpec
Qt::LocalTime:      0 现场相关的时间(时区和夏令时)。
Qt::UTC :           1 协调世界时间,取代格林尼治平均时间。
Qt::OffsetFromUTC:  2 从协调世界时间秒偏移量。
Qt::TimeZone:       3 使用特定的日光节约规则集命名的时区。Qt::TimerType
Qt::PreciseTimer    0   精确计时器尽量保持毫秒精度
Qt::CoarseTimer     1   粗定时器试图保持精度在5%的期望间隔
Qt::VeryCoarseTimer 2   非常粗的定时器只保持完整的秒精度QTimeZone::timetype     
QTimeZone::standardtime 0   时区中的标准时间,即日光节约无效时。例如格式化显示名时会显示“太平洋标准时间”之类的东西。QTimeZone::daylighttime 1   日光节约有效期。例如,格式化显示名时会显示“太平洋夏令时间”之类的东西。QTimeZone::generictime  2   非特定时间或夏时制的时间,无论是未知时间还是中性形式。例如格式化显示名时会显示“太平洋时间”之类的东西。其他函数说明:
bool QDateTime::isDaylightTime() const
如果日期落在日光节约时间。返回true 
如果QT::timespec不是QT::当地时间或QT::时区然后将始终返回false。bool QDateTime::isNull() const
如果日期和时间为NULL,则返回true,否则返回false。一个空的日期无效。bool QDateTime::isValid() const
如果日期和时间都是有效的,他们在目前在Qt::timespec是有效的,返回true,否则返回false。 
如果timespec()是Qt::LocalTime or Qt::TimeZone的日期和时间进行检查看
是否落在标准时间夏令时间的过渡时间,即如果过渡是在凌晨两点钟前进,
凌晨3点然后时间从02:00:00到02:59: 59.999被认为是无效的。
*/

这里写图片描述

这里写图片描述

QDateTime类参考
QDate类参考
QTime类参考


http://chatgpt.dhexx.cn/article/cUBILASf.shtml

相关文章

QDateTime时间相减

qDebug()<<"span"<<QDateTime::fromMSecsSinceEpoch(QDateTime::currentDateTime().toMSecsSinceEpoch() - time.toMSecsSinceEpoch()).toUTC().toString("hh:mm:ss"); 1、使用 QDateTime::toMSecsSinceEpoch 计算时间差&#xff1b; 2、使用…

小心 QDateTime

QDateTime 时间跳变问题接收服务端时间问题 时间跳变问题 QDateTime的具体用法可以在Qt creator 鼠标双击选中&#xff0c;按 F1 查看它的文档, Qt 的文档还是不错的. 我们有时会用下面的代码来做等待, 在笔者使用过程中发现 //等待QDateTime n QDateTime::currentDateTime(…

QDateTime

一、描述 QDateTime 对象对日历日期和时钟时间进行编码。它结合了 QDate 和 QTime 类的特性。它可以从系统时钟中读取当前日期时间。它提供了用于比较日期时间和通过添加秒数、天数、月数或年数来操作日期时间的函数。 二、成员函数 1、QString toString(const QString &…

QDateTime、QTime获取当前时间

1、引用头文件 #include #include 2、显示当前时间 ui->label->setText(“QDateTime:\nCurrent Time is:” QDateTime::currentDateTime().toString(“yyyy-MM-dd hh:mm:ss ddd”)); ui->label->setText(ui->label->text() "\n\nQTime:\nHour mi…

通过图像修复的视觉提示

Visual Prompting via Image Inpainting 目录 总结 一、Introduction 二、Visual Prompting via Image Inpainting 1. Inpainting using MAE-VQGAN 2. Prompting Inpainting Models 3. The Computer Vision Figures Dataset 三、Experiments and Results 四、Discussio…

图像修复必读的10篇论文

点击上方“AI公园”&#xff0c;关注公众号&#xff0c;选择加“星标“或“置顶” 因公众号更改了推送规则&#xff0c;记得读完点“在看”~下次AI公园的新文章就能及时出现在您的订阅列表中 作者&#xff1a;Chu-Tak Li 编译&#xff1a;ronghuaiyang 导读 这10篇文章给出了图…

【图像修复】论文阅读笔记 ----- 《Image inpainting based on deep learning: A review》

文章目录 原文下载地址概述**单阶段修复****单结果修复****多元修复方法** **渐进图像修复**低分辨率图像修复高分辨率图像修复 基于先验知识的修复轮廓边缘引导图像修复生成性先验引导图像修复 用于图像修复的数据集**不规则掩模数据集&#xff1a;****图像修复数据集&#xf…

毕业设计之 - 基于深度学的图像修复 图像补全

1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍 基于深度学的图像修复 图像补全 大家可用于 毕业设计 2 什么是图像内容填充修复 内容识别填充(译注: Content-aware fill ,是 photoshop 的一个功能)是一个强大的工具&#xff0c;设计师…

基于GAN的图像修复--论文笔记

文献下载看下载处或评论链接 /1 Region Normalization for Image Inpainting 主要内容&#xff1a;将损坏的图像输入到神经网络中可能会产生问题&#xff0c;例如无效像素的卷积、归一化的均值和方差。但是&#xff0c;当前方法无法解决网络中的均值和方差漂移问题。当前方…

图像修复文章汇总

图像修复技术的研究是计算机视觉以及计算机图形学的一个具有重大意义的研究课题。对于带有损失区域的图像&#xff0c;由于我们并不知道原本图像的具体形式&#xff0c;我们只能类似于“凭空捏造”一些像素去填补这种缺失。正因如此&#xff0c;图像修复实际是根据人类自己的视…

图像算法原理与实践——图像修复之 全变分模型

在图像算法的高层次处理中&#xff0c;有一类很典型的应用&#xff0c;就是图像修复算法。图像在采集、传输、预处理过程中&#xff0c;都可能会发生图像数据被修改、损失和缺失等问题&#xff08;例如&#xff1a;部分图像内容被污染、雾霾等&#xff09;&#xff0c;另外&…

图像修复序列——BSCB模型

1. 参考文献 2. BSCB模型代码 2.1 BSCB模型demo % demo_BSCB.m % Author: HSW % Date: 2015/3/25 % HARBIN INSTITUTE OF TECHNOLOGY % % set matlab close all; clear all; clc;options.null 0; % read image Img imread(Image\butterfly.bmp); Img imread(Image\peppers…

day29:图像修复

在实际应用 中&#xff0c; 图像常常会受到噪声的干扰&#xff0c;例如拍照时镜头上存在灰尘或者飞行的小动物。这些 干 扰会导 拍摄到的图像出现部分内容被遮挡 的情况.对于较为久远的图像&#xff0c;可能只有实体图像而没有数字存储形式的底板&#xff0c; 因此相片在保存和…

【图像修复】基于深度学习的图像修复算法的MATLAB仿真

1.软件版本 matlab2021a 2.本算法理论知识 在许多领域&#xff0c;人们对图像质量的要求都很高&#xff0c;如医学图像领域、卫星遥感领域等。随着信息时代的快速发展&#xff0c;低分辨率图像已经难以满足特定场景的需要。因此&#xff0c;低分辨率图像恢复与重建的研究逐渐…

【毕业设计】深度学习图像修复算法研究与实现 - python

文章目录 1 前言2 什么是图像内容填充修复3 原理分析3.1 第一步&#xff1a;将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs5 最后 1 前言 &…

图像修复 图像补全_图像修复简介

图像修复 图像补全 In practical applications, images are often corroded by noise. These noises are dust or water droplets on the lens, or scratches from old photos, or the image is artificially painted or part of the image Itself has been damaged. 在实际应用…

Opencv--图像修复

Opencv–图像修复 前言 在实际应用中&#xff0c;我们的图像常常会被噪声腐蚀&#xff0c;这些噪声或是镜头上的灰尘或水滴&#xff0c;或是旧照片的划痕&#xff0c;或者是图像遭到人为的涂画&#xff08;比如马赛克&#xff09;或者图像的部分本身已经损坏。如果我们想让这…

数字图像处理之图像修复

目录 目标 实验 主函数&#xff1a;加噪声&#xff0c;扭曲原始图片&#xff0c;使用滤波器修复图片 子函数1&#xff1a;中心化图片 子函数2&#xff1a;加高斯噪声 子函数3&#xff1a;维纳反卷积滤波器 子函数4&#xff1a;逆滤波器 实验结果 原始图片&#xff0c;退化…

图像修复模型——TV模型

1. 参考文献 2. TV图像修复模型 2.1 TV模型 % demo_TV.m % Author: HSW % Date: 2015/3/25 % HARBIN INSTITUTE OF TECHNOLOGY % % set matlab close all; clear all; clc;options.null 0; % read image Img imread(Image\butterfly.bmp); % Img imread(Image\peppers.bmp…

图像修复 学习笔记

目录 局部卷积&#xff08;PConv&#xff09;图像修复 Pconv torch 实现&#xff1a; 局部卷积&#xff08;PConv&#xff09;图像修复 本文提出了局部卷积&#xff08;PConv&#xff09;层来处理不规则孔。图1显示了使用建议的PConv的一些修复结果。看样子还不错&#xff0…