欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > C++ /qt 获取当前时间的几种方法

C++ /qt 获取当前时间的几种方法

2025/2/10 23:41:53 来源:https://blog.csdn.net/huangjiazhi_/article/details/144152225  浏览:    关键词:C++ /qt 获取当前时间的几种方法

方法一:std标准函数方式


#include <iostream>
#include <ctime>
#include <chrono>
#include <iomanip>int getCurFormatTime(char* fmtTime, bool convertTwsj=false)
{// 使用high_resolution_clock获取当前时间点auto now = std::chrono::high_resolution_clock::now();// 将时间点转换为time_t以便转换为本地时间std::time_t now_time = std::chrono::high_resolution_clock::to_time_t(now);if (convertTwsj) {now_time = now_time - 3600*8;}// 转换为本地时间并格式化std::tm* local_time = std::localtime(&now_time);// 输出格式化时间std::_Put_time<char> a = std::put_time(local_time, "%Y-%m-%d %H:%M:%S");sprintf(fmtTime, "%d-%02d-%02d %02d:%02d:%02d", a._M_tmb->tm_year+1900,a._M_tmb->tm_mon+1,a._M_tmb->tm_mday, a._M_tmb->tm_hour, a._M_tmb->tm_min, a._M_tmb->tm_sec);//qDebug()<< "当前系统时间:" << fmtTime;return 0;
}

方式二,qt

qt 获取当前时间
获取当前时间可以使用Qt的QDateTime类来实现。以下是几种不同的代码实现方法:方法一:使用静态函数QDateTime::currentDateTime()获取当前时间。
#include <QDateTime>QDateTime currentTime = QDateTime::currentDateTime();
qDebug() << "Current Time: " << currentTime;方法二:使用QDateTime类的构造函数和QDateTime::currentDateTime()函数
#include <QDateTime>QDateTime currentTime(QDateTime::currentDateTime());
qDebug() << "Current Time: " << currentTime;方法三:使用QDateTime::currentDateTimeUtc()获取当前协调世界时间(UTC)。
#include <QDateTime>QDateTime currentUtcTime = QDateTime::currentDateTimeUtc();
qDebug() << "Current UTC Time: " << currentUtcTime.toLocalTime();方法四:使用QDateTime::currentMSecsSinceEpoch()获取当前时间的毫秒数。
#include <QDateTime>qint64 currentTimeMs = QDateTime::currentMSecsSinceEpoch();
qDebug() << "Current Time (in milliseconds): " << currentTimeMs;

字符串时间转本地时间

#include <QDateTime>
#include <QString>
#include <QDebug>int main() {// 假设我们有一个字符串格式的时间QString timeString = "2023-04-01 12:00:00";// 将字符串转换为QDateTime对象QDateTime dateTime = QDateTime::fromString(timeString, "yyyy-MM-dd hh:mm:ss");// 如果需要转换为本地时间,可以使用以下代码QDateTime localDateTime = dateTime.toLocalTime();// 打印转换后的时间qDebug() << "Local Time: " << localDateTime.toString("yyyy-MM-dd hh:mm:ss");return 0;
}

字符串时间转UTC时间

#include <QDateTime>
#include <QTimeZone>
#include <QString>
#include <QDebug>int main(int argc, char *argv[])
{// 假设我们有一个字符串表示的本地时间QString localTimeString = "2023-04-01 12:00:00";// 使用QDateTime将字符串转换为本地时间的QDateTime对象QDateTime localDateTime = QDateTime::fromString(localTimeString, "yyyy-MM-dd hh:mm:ss");// 获取当前系统时区QTimeZone systemTimeZone = QTimeZone::systemTimeZone();// 转换为UTC时间QDateTime utcDateTime = localDateTime.toUTC(systemTimeZone);// 输出UTC时间qDebug() << "UTC Time: " << utcDateTime.toString("yyyy-MM-dd hh:mm:ss");return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com