VS+Qt应用开发-获取系统时间
Qt中的函数
- 获取当前系统时间
QDateTime time = QDateTime::currentDateTime();
- 选择时间的显示格式
ui.lcdNumber->display(time.toString("yyyy-MM-dd HH:mm:ss"));
显示格式的定义如下:
格式 | 说明 |
---|---|
yyyy | 四位数字年份,如:2020 |
yy | 两位数字年份,如:20 |
MM | 补零的月份,如:01~12 |
M | 不补零的月份,如:1~12 |
MMMM | 月份的全称,如:January |
MMM | 月份的缩写,如:Jan |
dd | 补零的日期,如:01~31 |
d | 不补零的日期,如:1~31 |
dddd | 星期的全称,如:Monday |
ddd | 星期的缩写,如:Mon |
- | - |
HH | 补零的24小时制,如:00~24 |
H | 不补零的24小时制,如:0~24 |
hh | 补零的12小时制,如:01~12 am |
h | 不补零的12小时制,如:00~12 am |
mm | 补零的分钟,如:00~59 |
m | 不补零的分钟,如:0~59 |
ss | 补零的秒,如:00~59 |
s | 不补零的秒,如:0~59 |
zzz | 补零的毫秒,如:000~999 |
z | 不补零的毫秒,如:0~999 |
AP 或 A | 12小时制显示AM或PM |
ap 或 a | 12小时制显示am或pm |
Windows API中的函数
- 通过GetLocalTime()函数获取系统时间并传递给SYSTEMTIME结构体,然后通过字符串格式化输出;
#include <Windows.h>
{
...
SYSTEMTIME time;
GetLocalTime(&time);
char c_time[80];
sprintf(c_time, "%.4d-%.2d-%.2d-星期%1d,%.2d:%.2d:%.2d:%.3d",
time.wYear, time.wMonth, time.wDay, time.wDayOfWeek, time.wHour,
time.wMinute, time.wSecond, time.wMilliseconds);
...
}
SYSTEMTIME结构体的成员如下:
成员 | 说明 |
---|---|
WORD wYear | 年 |
WORD wMonth | 月 |
WORD wDayOfWeek | 星期,0=星期日,1=星期一,以此类推 |
WORD wDay | 日 |
WORD wHour | 时 |
WORD wMinute | 分 |
WORD wSecond | 秒 |
WORD wMilliseconds | 毫秒 |