Qt - 获取系统当前时间
1、使用QDateTime类来获取系统当前时间
在 Qt 中,可以使用QDateTime类来获取系统当前时间。以下是一个示例代码:
(图片来源网络,侵删)
#include // 获取系统当前时间 QDateTime currentDateTime = QDateTime::currentDateTime(); // 输出当前时间 QString currentTime = currentDateTime.toString("yyyy-MM-dd hh:mm:ss"); qDebug() tm_hour, local_time->tm_min, local_time->tm_sec); } int main() { get_current_time(); return 0; }
在上述示例中,首先使用time(NULL)获取当前时间,并将其存储在current_time变量中。然后,通过localtime函数将时间转换为本地时间格式,并将结果存储在local_time结构体指针中。
接下来,通过结构体成员tm_year、tm_mon、tm_mday、tm_hour、tm_min和tm_sec分别获取年、月、日、小时、分钟和秒,并将它们打印出来。
请注意,localtime函数返回的是一个指向struct tm的指针,需要使用相应的成员来访问时间信息。另外,时间的显示格式可能会因操作系统和编译器的不同而有所差异。
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 时区名称,如果不能得到时区名称则返回空字符。 %% 百分号
4、使用Windows API 函数GetLocalTime(精确到毫秒)
在 Windows 操作系统中,可以使用 GetLocalTime 函数来获取系统当前时间,并且可以精确到秒。以下是使用 C++ 语言示例代码:
#include void get_current_time() { // 获取当前系统时间 SYSTEMTIME sysTime; GetLocalTime(&sysTime); // 打印年、月、日、小时、分钟和秒 printf("Year: %d\n", sysTime.wYear); printf("Month: %d\n", sysTime.wMonth); printf("Day: %d\n", sysTime.wDay); printf("Hour: %d\n", sysTime.wHour); printf("Minute: %d\n", sysTime.wMinute); printf("Second: %d\n", sysTime.wSecond); } int main() { get_current_time(); return 0; }
在上面的代码中,首先定义了一个 SYSTEMTIME 结构体变量 sysTime,用于存储获取到的系统时间信息。然后,通过调用 GetLocalTime 函数将当前系统时间填充到 sysTime 结构体中。
最后,使用 printf 函数打印出年、月、日、小时、分钟和秒的信息。
请确保在编译和运行代码时,包含了必要的 Windows 头文件 ,并链接相应的库。
码字不易,欢迎点赞支持!
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。