Qt - 获取系统当前时间

2023-05-16

简介

Qt获取系统当前时间的四种方法(一般使用第一种或者第二种)

方法一:获取带日期的时间,使用QDateTime类

QDateTime current_date_time =QDateTime::currentDateTime();
QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz ddd");

//current_date字符串结果为”2016.05.20 12:17:01.445 周五”
其中时间的显示格式可灵活配置,此处简单说明本实例中用到的部分:

yyyy表示年;MM表示月;dd表示日; hh表示小时;mm表示分;ss表示秒;zzz表示毫秒;ddd表示周几

注:详细配置格式内容较多,有需要的请自行查看Qt Assistant中关于函数QString QDateTime::toString ( const QString & format ) const的说明

方法二:使用QTime类

QTime current_time =QTime::currentTime();
int hour = current_time.hour();     //当前的小时
int minute = current_time.minute(); //当前的分
int second = current_time.second(); //当前的秒
int msec = current_time.msec();     //当前的毫秒

当然QTime也可以像QDateTime::toString那样直接输出固定格式的字符串,使用方法与QDateTime::toString类似,

也可参考Qt Assistant中关于函数QString QTime::toString ( const QString & format ) const的说明

方法三:使用标准的C语言函数localtime(精确到秒)

注:需要包含time.h头文件

1、使用strftime()进行格式转换

time_t t = time( 0 );
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );
printf("%s\n",tmp);
//输出为“2016/05/20 13:11:57 Friday 本年第141天 中国标准时间”
其中函数size_t strftime(char *strDest,size_t maxsize,const char *format,const  struct tm *timeptr)

功能为根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,

最多向strDest中存放maxsize个字符。该函数返回向strDest指向的字符串中放置的字符数。

format参数说明:
%a 星期几的简写
%A 星期几的全称
%b 月份的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的前两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年份,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从1到7,星期一为1)
%U 第年的第几周,把星期日作为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号

2、使用asctime()进行格式转换

/*得到系统时间*/
time_t cur;
struct daytime;
cur = time((time_t*)NULL);
time(&cur);       

/*时间转换*/
daytime = *localtime(&cur);     
printf("%s", asctime(&daytime));
//输出为“Wed Feb 13 15:46:11 2016”

方法四:使用Windows API 函数GetLocalTime(精确到毫秒)

SYSTEMTIME sys;
GetLocalTime( &sys );
printf("%4d/%2d/%2d %2d:%2d:%2d.%3d\n",  
sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds); 
//输出为“2016/5/16 10:13:23.234”

其中SYSTEMTIME结构体定义如下】

typedef struct _SYSTEMTIME {
  WORD wYear;//年
  WORD wMonth;//月
  WORD wDayOfWeek;//星期,0为星期日,1为星期一,2为星期二……
  WORD wDay;//日
  WORD wHour;//时
  WORD wMinute;//分
  WORD wSecond;//秒
  WORD wMilliseconds;//毫秒
} SYSTEMTIME,*PSYSTEMTIME;

原文链接

Qt - 获取系统当前时间-QT开发中文网Qt - 获取系统当前时间https://qt.0voice.com/?id=787

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

Qt - 获取系统当前时间 的相关文章

  • 基于FreeRTOS实现温湿度识别

    实验说明 xff1a 本实验主要利用freeRTOS创建多任务实现温湿度检测与点亮LED xff0c 并在串口上输出相应温湿度和LED亮灭情况 xff1b 一 实验用材 1 DHT11温湿度传感器模块 2 stm32f103c8t6最小系统
  • 操作系统学习笔记

    文章目录 一 概述1 什么是操作系统2 操作系统的作用3 操作系统的发展史4 操作系统的分类5 现代操作系统的主要特点 二 进程控制1 进程的基本概念2 进程控制的基本概念3 同步和互斥4 进程通信5 线程和管程的基础概念6 死锁 三 处理
  • django注册功能密码加密存储

    1 编写模型类 class User models Model username 61 models CharField max length 61 16 verbose name 61 39 账号 39 password 61 model
  • Node.js【未完成】

    Node js node介绍和环境安装 Node js 简介 1 什么是 Node js Node js is a JavaScript runtime built on Chrome s V8 JavaScript engine Node
  • Pygame简介

    第一课Pygame简介 Pygame 是一个游戏库 xff0c 通常用于在 Python 中创建 2 D 游戏 它具有许多重要功能 xff0c 例如碰撞检测 声音和音乐 图形 事件系统等等 Pygame安装 在我们向您介绍任何 Pygame
  • Vue2---生命周期钩子

    生命周期钩子 所有生命周期钩子的 this 上下文将自动绑定至实例中 xff0c 因此你可以访问 data computed 和 methods 这意味着你不应该使用箭头函数来定义一个生命周期方法 会使this指向window 1 befo
  • MySQL--复合查询--内外链接--0422

    注 xff1a 为了方便查看 mysql语句会有突然的换行 xff0c 书写时请勿模仿 目录 1 单表查询回顾 显示工资最高的员工的名字和工作岗位 显示工资高于平均工资的员工信息 2 多表查询 比如需要查询雇员名字和所在部门编号及部门名字
  • 以符合人类阅读的方式打印php数组

    在程序开发过程中 xff1b 打印数据进行查看调试是非常频繁的 xff1b 如果没有一种易于阅读的样式那是相当痛苦的 xff1b 先定义一个数组 xff1b array 61 array 39 t0 39 61 gt 39 test0 39
  • 12.【openCV常用函数模板】

    opency常用关键字 1 头文件的引用2 命名空间的引用3 读入文件的引用4 处理图像的数据结构5 定义窗口的引用6 自定义窗口长宽度的引用7 展示窗口的引用8 窗口展示时间的引用9 清除窗口的引用10 举列子10 1代码展示 10 2效
  • 利用novnc登录绕过WFA

    0x00 简介 前端时间看了一个新闻说是一个安全人员研究使用webVNC来钓鱼绕过MFA多因子验证 xff0c 因为现在很多环境钓鱼抓到的账号密码 xff0c 在登录时候可能会要求输入安全码或者PIN马之类的东西 xff0c 学名叫做MFA
  • 图像分割损失函数OhemCELoss

    OhemCELoss函数简介 OhemCELoss函数 xff08 Online hard example mining cross entropy loss 的缩写 xff09 分割任务中的OhemCELoss函数 xff1a 其实就是分
  • 02_FreeRTOS内核实现---任务的定义与任务切换

    一 什么是任务 在多任务系统中 xff0c 我们根据功能的不同 xff0c 把整个系统分割成多个独立且无法返回的函数 xff0c 这种函数称之为任务 二 创建任务 1 定义任务栈 在多任务系统中 xff0c 每个任务都是独立的 xff0c
  • ROS学习笔记1:Ubuntu20.04系统安装图文讲解(双系统,机械硬盘)

    系列前言 xff1a 本人BIT机械专业大三学生 xff0c 可以说是计算机小白 近年来学校以咱们 智能制造与智能车辆班 为试验班对机械专业进行探索性课改 xff0c 加入了大量控制类课程 xff08 数据结构 xff0c ROS xff0
  • ROS学习笔记3:ROS架构(了解)

    笔记3不涉及实际操作 xff0c 主要是用自己的语言和思路简略整理了 ROS机器人开发实践 一书第2章内容 第一次看这一章的内容会有不知道在讲什么的感觉 xff0c 但这一章的内容确实对后续实践操作章节的理解有非常大的帮助 一 ROS架构
  • SLAM学习笔记2:SLAM的数学表述

    1 SLAM问题 xff1a 在了解了SLAM中各个模块的组成和主要功能后 xff0c 我们将上升到理性层次 xff0c 用数学语言来描述SLAM过程 现在假设由无人车搭载传感器 对于传感器来说 xff0c 虽然它的运动是时间连续的 xff
  • ROS学习笔记10:TF坐标变换(ROS常用组件)

    前言 xff1a 机器人本体和机器人的工作环境中往往存在大量的组件元素 xff0c 在机器人设计和应用中会涉及不同组件的位置和姿态 xff0c 这就需要引入坐标系和坐标变换的概念 一 机器人中空间描述和变换 xff1a 1 位置描述 xff
  • ROS学习笔记11:launch启动文件(ROS常用组件)

    一 launch启动文件介绍 xff1a 上节的海龟跟随实验 xff0c 输入的指令比较繁杂 xff0c 很容易输错命令 对于这种多节点任务 xff0c 可以使用启动文件 启动文件是ROS中一种可以通过xml文件 xff0c 同时启动多个节

随机推荐

  • 学习ARM架构,系统移植和驱动开发总结

    本次结束了对ARM架构 xff0c 系统移植和驱动开发的学习 xff0c 它们都是属于底层 xff0c 难度想对都比较的难一点 xff0c 但先学习arm架构之后去学习系统移植和驱动开发 xff0c 会使自己对系统移植和驱动开发容易理解点
  • Robocup2D环境搭配以及安装(Ubuntu18.04)

    个人是看过很多安装教程并且在一次次实验成 xfeff 功后得出的成果 xff1a 首先 xff0c 在gitee网站下载安装所需的文件夹 xfeff gitee网站下载zip压缩包 其次 xff0c 进行依赖库的安装 终端输入 sudo a
  • 树莓派配置网络实现ssh登录

    上面一篇文章我实现了串口方式访问树莓派 xff0c 可以实现树莓派开发 xff0c 但每次都需要接线 xff0c 比较麻烦所以我们可以对树莓派进行配置让他可以用IP地址登录 1 配置树莓派接入网络 sudo nano etc wpa sup
  • 字符串查找函数strstr

    前言 xff1a 本章我们将学习如何用strstr函数在字符串中查找是否存在指定的字符串 strstr 功能 xff1a 在一个字符串中查找是否存在指定的字符串 xff08 定位子字符串 xff09 cplusplus介绍如下 xff1a
  • Module not found: Error: Can‘t resolve ‘querystring‘ in ‘xxxxxxxxx‘

    解决办法 request js里面 import qs from 34 querystring 34 改为import qs from 34 qs 34
  • 【C语言】初学者写基础代码的基本步骤

    一 写代码 xff08 底阿妈 xff09 步骤 xff1a 1 创建一个项目 2 创建一个源文件 什么是源文件 xff1a xxxx c c开头的叫源文件 xxxx h h开头的叫头文件 3 写代码 xff08 底阿妈 xff09 one
  • ROS新手学习路线

    希望这些信息能够帮助你学习ROS 如果你有任何其他问题 xff0c 请随时告诉我 安装ROS 首先 xff0c 你需要在你的计算机上安装ROS 请参阅官方文档中的 安装 章节 xff0c 了解如何在你的系统上安装ROS xff1a http
  • JAVA学习心得体会

    这周是考试结束第一周 xff0c 刚开始继续学习JAVA时 xff0c 短时间不学习就感觉遗忘了许多有关JAVA的知识 xff0c 所以及时的复习所学内容是真的很重要 通过学长学姐的介绍 xff0c 我发现Typora记笔记是真的很方便 x
  • Ubuntu18.04在ROS下利用realsenseD435i相机实时运行ORB-SLAM2

    1 安装realsenseD435i的SDK Librealsense 可以参照这位博主 6条消息 Ubuntu18 04 43 ROS melodic 安装使用 InterRealSenseD435i SDK2和RealSense ROS
  • opencv-python识别魔方特定颜色方块,并输出各方块中心坐标

    先叠个甲 xff08 作者寒假才开始自学opencv xff0c 做题练手 xff0c 还不是很熟练 xff0c 如果有不正确或者有更好的方法 xff0c 欢迎在评论区指出 xff09 题目 xff1a 从网上寻找任一魔方图片 xff0c
  • Git教程学习笔记及VScode中Git使用

    文章目录 前言1 配置git2 创建版本库3 版本回退4 工作区和暂存区5 添加远程仓库6 分支管理处理bug分支多人协作 7 标签管理8 自定义git9 VScode中的Git使用 前言 欢迎通过我的个人博客看本篇文章https sunm
  • Qt的基本数据类型

    1 1 基本数据类型 qint8 signed charqint16 signed shortqint32 signed intqint64 long long int int64 on Windows qreal doublequint8
  • Qt——Javascript/Qt交互、脚本化

    Qt提供了对Javascript的良好支持 如果查阅过文档你就知道Qt有两个不同的Js封装引擎 xff1a QScriptEngine QJSEngine QScriptEngine出现的比较早 xff08 自Qt4 3始 xff09 xf
  • QT自绘标题和边框

    在QT中如果想要自绘标题和边框 xff0c 一般步骤是 xff1a 1 xff09 在创建窗口前设置Qt FramelessWindowHint标志 xff0c 设置该标志后会创建一个无标题 无边框的窗口 2 xff09 在客户区域的顶部创
  • Qt:QSqlQuery

    0 说明 QSqlQuery提供了执行SQL代码的方法 QSqlQuery封装了在QSqlDatabase中查询 检索数据的相关函数 它可以用来执行如SELECT INSERT UPDATE DELETE等方法 xff0c 也可以执行如CR
  • Qt - 读取GPS数据

    1 GPS型号为ublox xff08 EVK M8L xff09 xff0c 配有USB接口 xff0c Qt版本5 7 2 实现步骤 xff1a 1 实现串口通信 采用Qt5 7 内置的串口操作类QSerialPort和QSerialP
  • QT打包的两种方式

    QT打包的两种方式 xff1a 一个是QT5自带的windeployqt xff08 不需要下载安装 xff09 xff0c 它可以找到程序 xff08 exe xff09 用到的所有库文件 xff0c 并且都拷贝到exe程序的当前文件 此
  • Qt使用FFmpeg播放视频

    一 使用场景 因为项目中需要加载MP4播放开机视频 xff0c 而我们的设备所使用的架构为arm架构 xff0c 其中缺乏一些多媒体库 安装这些插件库比较麻烦 xff0c 所以最终决定使用FFmpeg播放视频 二 下载编译ffmpeg库 2
  • Qt 性能优化:CPU占有率高的现象和解决办法

    一 前言 在最近的项目中 xff0c 发现执行 Qt 程序时 xff0c 有些情况下的 CPU 占用率奇高 xff0c 最高高达 100 项目跑在嵌入式板子上 xff0c 最开始使用 EGLFS 插件 xff0c 但是由于板子没有单独的鼠标
  • Qt - 获取系统当前时间

    简介 Qt获取系统当前时间的四种方法 xff08 一般使用第一种或者第二种 xff09 方法一 xff1a 获取带日期的时间 xff0c 使用QDateTime类 QDateTime current date time 61 QDateTi