Qt5 入门教程-第3章 日期和时间(qt5 qml)
ztj100 2025-05-02 22:42 4 浏览 0 评论
大道至简,在 Qt5 C++入门教程的这一部分,我们将讨论时间和日期。
Qt5 有 QDate、QTime 和 QDateTime 类用于处理日期和时间。QDate 类用于处理公历中的日历日期。它具有确定日期、比较或操作日期的方法。QTime 类用于处理时钟时间。它提供了比较时间、确定时间以及各种其他时间操作的方法。QDateTime 类则是将 QDate 和 QTime 对象合并为一个对象的类。
在本章中,我们创建了命令行程序;因此,我们不需要 Qt 图形用户界面(GUI)模块。我们可以在项目文件中添加 QT -= gui 声明。
Qt5 初始化日期和时间对象
日期和时间对象可以通过两种基本方式进行初始化。我们可以在对象构造函数中初始化它们,也可以先创建空对象,之后再用数据填充它们。
- init.cpp
#include <QTextStream>
#include <QDate>
#include <QTime>
int main(void) {
QTextStream out(stdout);
QDate dt1 { 2020, 4, 12 };
out << "日期是 " << dt1.toString() << endl;
QDate dt2;
dt2.setDate(2020, 3, 3);
out << "日期是 " << dt2.toString() << endl;
QTime tm1 { 17, 30, 12, 55 };
out << "时间是 " << tm1.toString("hh:mm:ss.zzz") << endl;
QTime tm2;
tm2.setHMS(13, 52, 45, 155);
out << "时间是 " << tm2.toString("hh:mm:ss.zzz") << endl;
}
我们通过两种方式初始化了日期和时间对象。
QDate dt1 { 2020, 4, 12 };
QDate 对象的构造函数接受三个参数:年份、月份和日期。
out << "日期是 " << dt1.toString() << endl;
日期被打印到控制台。我们使用 toString 方法将日期对象转换为字符串。
QTime tm2;
tm2.setHMS(13, 52, 45, 155);
创建了一个空的 QTime 对象。我们使用 setHMS 方法用数据填充该对象。参数分别是小时、分钟、秒和毫秒。
out << "时间是 " << tm2.toString("hh:mm:ss.zzz") << endl;
我们将 QTime 对象打印到控制台。我们使用了一种特定格式,其中还包括了默认情况下会被省略的毫秒数。
$ ./init
日期是 2020年4月12日 星期日
日期是 2020年3月3日 星期二
时间是 17:30:12.055
时间是 13:52:45.155
Qt5 当前日期和时间
在下面的示例中,我们将当前的本地时间和日期打印到控制台。
- current_datetime.cpp
#include <QTextStream>
#include <QTime>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate cd = QDate::currentDate();
QTime ct = QTime::currentTime();
out << "当前日期是: " << cd.toString() << endl;
out << "当前时间是: " << ct.toString() << endl;
}
注意,该文件不能命名为 time.cpp。
QDate cd = QDate::currentDate();
QDate::currentDate 静态函数返回当前日期。
QTime ct = QTime::currentTime();
QTime::currentTime 静态函数返回当前时间。
out << "当前日期是: " << cd.toString() << endl;
out << "当前时间是: " << ct.toString() << endl;
我们使用 toString 方法将日期和时间对象转换为字符串。
$ ./current
当前日期是: 2020年12月3日 星期四
当前时间是: 10:21:48
Qt5 比较日期
关系运算符(<,>,=)可用于比较日期。我们可以比较它们在日历中的位置。
- compare_dates.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate dt1 { 2020, 4, 5 };
QDate dt2 { 2019, 4, 5 };
if (dt1 < dt2) {
out << dt1.toString() << " 在 "
<< dt2.toString() << " 之前" << endl;
} else {
out << dt1.toString() << " 在 "
<< dt2.toString() << " 之后" << endl;
}
}
该示例比较了两个日期。
QDate dt1 { 2020, 4, 5 };
QDate dt2 { 2019, 4, 5 };
我们有两个不同的日期。
if (dt1 < dt2) {
out << dt1.toString() << " 在 "
<< dt2.toString() << " 之前" << endl;
} else {
out << dt1.toString() << " 在 "
<< dt2.toString() << " 之后" << endl;
}
我们使用小于(<)比较运算符来比较日期,并确定它们中哪一个在日历中更早。
$ ./compare
2020年4月5日 星期日 在 2019年4月5日 星期五 之后
比较运算符也可以轻松地用于 QTime 和 QDateTime 对象。
Qt5 确定闰年
闰年是包含额外一天的年份。在日历中增加一天的原因是天文年和日历年之间的差异。日历年恰好有 365 天,而天文年,即地球绕太阳公转一圈的时间,是 365.25 天。
这个差异是 6 个小时,这意味着在四年的时间里我们少了一天。因为我们希望我们的日历与季节同步,所以我们每四年在二月增加一天。(存在一些例外情况。)在公历中,闰年的二月有 29 天,而不是通常的 28 天。并且这一年有 366 天,而不是通常的 365 天。
QDate::isLeapYear 静态方法用于确定某一年是否为闰年。
- leapyear.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QList<int> years({2010, 2011, 2012, 2013, 2014, 2015, 2016, 2020, 2024});
for (int year: years) {
if (QDate::isLeapYear(year)) {
out << year << " 是闰年" << endl;
} else {
out << year << " 不是闰年" << endl;
}
}
}
在这个示例中,我们有一个年份列表。我们检查每个年份是否为闰年。
QList<int> years({2010, 2011, 2012, 2013, 2014, 2015, 2016, 2020, 2024});
我们初始化了一个年份列表。
for (int year: years) {
if (QDate::isLeapYear(year)) {
out << year << " 是闰年" << endl;
} else {
out << year << " 不是闰年" << endl;
}
}
我们遍历该列表并确定给定的年份是否为闰年。QDate::isLeapYear 返回一个布尔值,真或假。
$ ./leapyear
2010 不是闰年
2011 不是闰年
2012 是闰年
2013 不是闰年
2014 不是闰年
2015 不是闰年
2016 是闰年
2020 是闰年
2024 是闰年
Qt5 预定义日期格式
Qt5 有一些内置的日期格式。QDate 对象的 toString 方法接受一个日期格式作为参数。Qt5 使用的默认日期格式是 Qt::TextDate。
- predefined_date_formats.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate cd = QDate::currentDate();
out << "今天是 " << cd.toString(Qt::TextDate) << endl;
out << "今天是 " << cd.toString(Qt::ISODate) << endl;
out << "今天是 " << cd.toString(Qt::SystemLocaleShortDate) << endl;
out << "今天是 " << cd.toString(Qt::SystemLocaleLongDate) << endl;
out << "今天是 " << cd.toString(Qt::DefaultLocaleShortDate) << endl;
out << "今天是 " << cd.toString(Qt::DefaultLocaleLongDate) << endl;
out << "今天是 " << cd.toString(Qt::SystemLocaleDate) << endl;
out << "今天是 " << cd.toString(Qt::LocaleDate) << endl;
}
在这个示例中,我们展示了当前日期的八种不同日期格式。
out << "今天是 " << cd.toString(Qt::ISODate) << endl;
在这里,我们以 Qt::ISODate 格式打印当前日期,这是一种用于显示日期的国际标准格式。
$ ./predefined_date_formats
今天是 2020年12月3日 星期四
今天是 2020-12-03
今天是 12/3/20
今天是 2020年12月3日 星期四
今天是 12/3/20
今天是 2020年12月3日 星期四
今天是 12/3/20
今天是 12/3/20
Qt5 自定义日期格式
日期可以用多种其他格式表示。在 Qt5 中,我们也可以创建自定义的日期格式。toString 方法的另一个版本接受一个格式字符串,在其中我们可以使用各种格式说明符。例如,d 说明符表示没有前导零的日期数字(1 到 31)。dd 说明符表示有前导零的日期数字(01 到 31)。以下表格列出了可用的日期格式表达式:
表达式 输出
d 没有前导零的日期数字(1 到 31)
dd 有前导零的日期数字(01 到 31)
ddd 本地化的缩写星期几名称(例如,'Mon' 到 'Sun')。使用 QDate::shortDayName。
dddd 本地化的完整星期几名称(例如,'Monday' 到 'Sunday')。使用 QDate::longDayName。
M 没有前导零的月份数字(1 到 12)
MM 有前导零的月份数字(01 到 12)
MMM 本地化的缩写月份名称(例如,'Jan' 到 'Dec')。使用 QDate::shortMonthName。
MMMM 本地化的完整月份名称(例如,'January' 到 'December')。使用 QDate::longMonthName。
yy 两位数的年份(00 到 99)
yyyy 四位数的年份。如果年份为负数,还会在前面加上一个负号。
表格:日期格式说明符
- cusom_date_formats.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate cd = QDate::currentDate();
out << "今天是 " << cd.toString("yyyy-MM-dd") << endl;
out << "今天是 " << cd.toString("yy/M/dd") << endl;
out << "今天是 " << cd.toString("d. M. yyyy") << endl;
out << "今天是 " << cd.toString("d-MMMM-yyyy") << endl;
}
我们有四种自定义日期格式。
out << "今天是 " << cd.toString("yyyy-MM-dd") << endl;
这是国际日期格式。日期的各个部分用破折号分隔。yyyy 表示四位数的年份。MM 表示有前导零的月份数字(01 到 12)。而 dd 表示有前导零的日期数字(01 到 31)。
out << "今天是 " << cd.toString("yy/M/dd") << endl;
这是另一种常见的日期格式。各个部分用斜杠(/)分隔。M 说明符表示没有前导零的月份数字(1 到 12)。
out << "今天是 " << cd.toString("d. M. yyyy") << endl;
这种日期格式在斯洛伐克使用。各个部分用点分隔。日期和月份没有前导零。首先是日期,然后是月份,最后是年份。
$ ./custom_date_formats
今天是 2020-12-03
今天是 20/12/03
今天是 3. 12. 2020
今天是 3-December-2020
Qt5 预定义时间格式
时间也有一些预定义的格式。标准格式说明符与日期格式中使用的相同。Qt5 使用的默认时间格式是 Qt::TextDate。
- predefined_time_formats.cpp
#include <QTextStream>
#include <QTime>
int main(void) {
QTextStream out(stdout);
QTime ct = QTime::currentTime();
out << "时间是 " << ct.toString(Qt::TextDate) << endl;
out << "时间是 " << ct.toString(Qt::ISODate) << endl;
out << "时间是 " << ct.toString(Qt::SystemLocaleShortDate) << endl;
out << "时间是 " << ct.toString(Qt::SystemLocaleLongDate) << endl;
out << "时间是 " << ct.toString(Qt::DefaultLocaleShortDate) << endl;
out << "时间是 " << ct.toString(Qt::DefaultLocaleLongDate) << endl;
out << "时间是 " << ct.toString(Qt::SystemLocaleDate) << endl;
out << "时间是 " << ct.toString(Qt::LocaleDate) << endl;
}
在这个示例中,我们展示了当前时间的八种不同时间格式。
out << "时间是 " << ct.toString(Qt::ISODate) << endl;
在这里,我们以 Qt::ISODate 格式打印当前时间,这是一种用于显示时间的国际标准格式。
$ ./predefined_time_formats
时间是 10:59:05
时间是 10:59:05
时间是 上午10:59
时间是 上午10:59:05 中欧时间
时间是 上午10:59
时间是 上午10:59:05 中欧时间
时间是 上午10:59
时间是 上午10:59
Qt5 中获取星期几
dayOfWeek 方法返回一个数字,该数字表示一周中的某一天,其中 1 代表星期一,7 代表星期日。
- weekday.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate cd = QDate::currentDate();
int wd = cd.dayOfWeek();
QLocale locale(QLocale("en_US"));
out << "Today is " << locale.dayName(wd) << endl;
out << "Today is " << locale.dayName(wd, QLocale::ShortFormat) << endl;
}
在这个示例中,我们打印出当前星期几的全称和简称。
QDate cd = QDate::currentDate();
我们获取当前日期。
int wd = cd.dayOfWeek();
从当前日期中我们获取星期几
out << "Today is " << locale.dayName(wd) << endl;
我们获取星期几的全称。
out << "Today is " << locale.dayName(wd, QLocale::ShortFormat) << endl;
我们获取星期几的全称。
$ ./weekday
Today is Thursday
Today is Thu
天数计算
我们可以使用 daysInMonth 方法计算特定月份的天数,使用 daysInYear 方法计算一年中的天数。
- nofdays.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QList<QString> months;
months.append("January");
months.append("February");
months.append("March");
months.append("April");
months.append("May");
months.append("June");
months.append("July");
months.append("August");
months.append("September");
months.append("October");
months.append("November");
months.append("December");
QDate dt1 { 2020, 9, 18 };
QDate dt2 { 2020, 2, 11 };
QDate dt3 { 2020, 5, 1 };
QDate dt4 { 2020, 12, 11 };
QDate dt5 { 2020, 2, 29 };
out << "There are " << dt1.daysInMonth() << " days in "
<< months.at(dt1.month()-1) << endl;
out << "There are " << dt2.daysInMonth() << " days in "
<< months.at(dt2.month()-1) << endl;
out << "There are " << dt3.daysInMonth() << " days in "
<< months.at(dt3.month()-1) << endl;
out << "There are " << dt4.daysInMonth() << " days in "
<< months.at(dt4.month()-1) << endl;
out << "There are " << dt5.daysInMonth() << " days in "
<< months.at(dt5.month()-1) << endl;
out << "There are " << dt1.daysInYear() << " days in year "
<< QString::number(dt1.year()) << endl;
}
创建了五个日期对象。我们计算这些月份的天数以及特定年份的天数。
QDate dt1 { 2020, 9, 18 };
QDate dt2 { 2020, 2, 11 };
QDate dt3 { 2020, 5, 1 };
QDate dt4 { 2020, 12, 11 };
QDate dt5 { 2020, 2, 29 };
创建了五个 QDate 对象。每个对象代表不同的日期。
out << "There are " << dt1.daysInMonth() << " days in "
<< months.at(dt1.month()-1) << endl;
我们使用 daysInMonth 方法获取日期对象中月份的天数。
out << "There are " << dt1.daysInYear() << " days in year "
<< QString::number(dt1.year()) << endl;
在这里,我们使用日期对象的 daysInYear 方法获取一年中的天数。
$ ./nofdays
There are 30 days in September
There are 29 days in February
There are 31 days in May
There are 31 days in December
There are 29 days in February
There are 366 days in year 2020
Qt5 检查日期有效性
有一个 isValid 方法用于检查一个日期是否有效。
- validity.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QList<QDate> dates {
QDate(2020, 5, 11), QDate(2020, 8, 1),
QDate(2020, 2, 30)
};
for (int i=0; i < dates.size(); i++) {
if (dates.at(i).isValid()) {
out << "Date " << i+1 << " is a valid date" << endl;
} else {
out << "Date " << i+1 << " is not a valid date" << endl;
}
}
}
在这个示例中,我们检查了三个日期的有效性。
QList<QDate> dates {
QDate(2020, 5, 11), QDate(2020, 8, 1),
QDate(2020, 2, 30)
};
前两个日期是有效的,第三个日期是无效的。二月有 28 天或 29 天。
if (dates.at(i).isValid()) {
out << "Date " << i+1 << " is a valid date" << endl;
} else {
out << "Date " << i+1 << " is not a valid date" << endl;
}
根据 isValid 方法的结果,我们向控制台打印一条关于日期有效性的消息。
$ ./validity
Date 1 is a valid date
Date 2 is a valid date
Date 3 is not a valid date
Qt5 的 addDays 和 daysTo 方法
我们可以很容易地计算出从特定日期开始 n 天后的日期。我们使用 addDays 方法。daysTo 方法返回距离所选日期的天数。
- daystofrom.cpp
#include <QTextStream>
#include <QDate>
int main(void) {
QTextStream out(stdout);
QDate dt { 2020, 5, 11 };
QDate nd = dt.addDays(55);
QDate cd = QDate::currentDate();
int year = cd.year();
QDate xmas { year, 12, 24 };
out << "55 days from " << dt.toString() << " is "
<< nd.toString() << endl;
out << "There are " << QDate::currentDate().daysTo(xmas)
<< " days till Christmas" << endl;
}
我们得到了从 2020 年 5 月 11 日起 55 天后的日期。我们还得到了距离圣诞节的天数。
QDate dt { 2020, 5, 11 };
QDate nd = dt.addDays(55);
addDays 方法返回一个 QDate 对象,该对象是给定日期之后 55 天的日期。
QDate xmas { year, 12, 24 };
...
out << "There are " << QDate::currentDate().daysTo(xmas)
<< " days till Christmas" << endl;
使用 daysTo 方法计算距离圣诞节的天数。
$ ./daystofrom
55 days from Mon May 11 2020 is Sun Jul 5 2020
There are 21 days till Christmas
Qt5 的 QDateTime 类
QDateTime 对象包含一个日历日期和一个时钟时间。它是 QDate 类和 QTime 类的组合。它有许多类似的方法,并且使用方式与这两个类相同。
- datetime.cpp
#include <QTextStream>
#include <QDateTime>
int main(void) {
QTextStream out(stdout);
QDateTime cdt = QDateTime::currentDateTime();
out << "The current datetime is " << cdt.toString() << endl;
out << "The current date is " << cdt.date().toString() << endl;
out << "The current time is " << cdt.time().toString() << endl;
}
这个示例获取当前的日期和时间。
out << "The current datetime is " << cdt.toString() << endl;
这行代码将当前的日期和时间打印到终端。
out << "The current date is " << cdt.date().toString() << endl;
这行代码使用 date 方法获取日期时间对象中的日期部分。
$ ./datetime
The current datetime is Thu Dec 3 12:29:42 2020
The current date is Thu Dec 3 2020
The current time is 12:29:42
Unix 时间戳
纪元是被选作特定时代起点的一个时间点。例如,在西方基督教国家,时间纪元从耶稣诞生的第 0 天开始。另一个例子是法国共和历,它使用了 12 年。其纪元是共和时代的开始,即 1792 年 9 月 22 日,这一天法兰西第一共和国宣告成立,君主制被废除。
计算机也有它们自己的纪元。其中最流行的一个是 Unix 时间戳。Unix 时间戳是 1970 年 1 月 1 日 00:00:00 UTC(或 1970-01-01T00:00:00Z ISO 8601 标准格式)。计算机中的日期和时间是根据自该计算机或平台定义的纪元以来经过的秒数或时钟滴答数来确定的。
Unix 时间是自 Unix 时间戳以来经过的秒数。
$ date +%s
1606995554
Unix 的 date 命令可用于获取 Unix 时间。在这个特定时刻,自 Unix 时间戳以来已经过去了 1606995554 秒。
- unix_epoch.cpp
#include <QTextStream>
#include <QDateTime>
#include <ctime>
int main(void) {
QTextStream out(stdout);
time_t t = time(0);
out << t << endl;
QDateTime dt;
dt.setTime_t(t);
out << dt.toString() << endl;
QDateTime cd = QDateTime::currentDateTime();
out << cd.toTime_t() << endl;
}
在这个示例中,我们使用两个 Qt5 函数来获取 Unix 时间,并将其转换为人类可读的形式。
#include <ctime>
我们包含标准的 C++ 时间头文件。
time_t t = time(0);
out << t << endl;
使用标准的 C++ time 函数,我们获取 Unix 时间。
QDateTime dt;
dt.setTime_t(t);
out << dt.toString() << endl;
setTime_t 函数用于将 Unix 时间转换为日期时间对象,并格式化为人类可读的形式。
QDateTime cd = QDateTime::currentDateTime();
out << cd.toTime_t() << endl;
Qt5 的 toTime_t 函数也可用于获取 Unix 时间。
$ ./unixepoch
1606995613
Thu Dec 3 12:40:13 2020
1606995613
相关推荐
- 使用 Pinia ORM 管理 Vue 中的状态
-
转载说明:原创不易,未经授权,谢绝任何形式的转载状态管理是构建任何Web应用程序的重要组成部分。虽然Vue提供了管理简单状态的技术,但随着应用程序复杂性的增加,处理状态可能变得更具挑战性。这就是为什么...
- Vue3开发企业级音乐Web App 明星讲师带你学习大厂高质量代码
-
Vue3开发企业级音乐WebApp明星讲师带你学习大厂高质量代码下栽课》jzit.top/392/...
- 一篇文章说清 webpack、vite、vue-cli、create-vue 的区别
-
webpack、vite、vue-cli、create-vue这些都是什么?看着有点晕,不要怕,我们一起来分辨一下。...
- 超赞 vue2/3 可视化打印设计VuePluginPrint
-
今天来给大家推荐一款非常不错的Vue可拖拽打印设计器Hiprint。引入使用//main.js中引入安装import{hiPrintPlugin}from'vue-plugin-...
- 搭建Trae+Vue3的AI开发环境(vue3 ts开发)
-
从2024年2025年,不断的有各种AI工具会在自媒体中火起来,号称各种效率王炸,而在AI是否会替代打工人的话题中,程序员又首当其冲。...
- Vue中mixin怎么理解?(vue的mixins有什么用)
-
作者:qdmryt转发链接:https://mp.weixin.qq.com/s/JHF3oIGSTnRegpvE6GSZhg前言...
- Vue脚手架安装,初始化项目,打包并用Tomcat和Nginx部署
-
1.创建Vue脚手架#1.在本地文件目录创建my-first-vue文件夹,安装vue-cli脚手架:npminstall-gvue-cli安装过程如下图所示:创建my-first-vue...
- 新手如何搭建个人网站(小白如何搭建个人网站)
-
ElementUl是饿了么前端团队推出的桌面端UI框架,具有是简洁、直观、强悍和低学习成本等优势,非常适合初学者使用。因此,本次项目使用ElementUI框架来完成个人博客的主体开发,欢迎大家讨论...
- 零基础入门vue开发(vue快速入门与实战开发)
-
上面一节我们已经成功的安装了nodejs,并且配置了npm的全局环境变量,那么这一节我们就来正式的安装vue-cli,然后在webstorm开发者工具里运行我们的vue项目。这一节有两种创建vue项目...
- .net core集成vue(.net core集成vue3)
-
react、angular、vue你更熟悉哪个?下边这个是vue的。要求需要你的计算机安装有o.netcore2.0以上版本onode、webpack、vue-cli、vue(npm...
- 使用 Vue 脚手架,为什么要学 webpack?(一)
-
先问大家一个很简单的问题:vueinitwebpackprjectName与vuecreateprojectName有什么区别呢?它们是Vue-cli2和Vue-cli3创建...
- vue 构建和部署(vue项目部署服务器)
-
普通的搭建方式(安装指令)安装Node.js检查node是否已安装,终端输入node-v会使用命令行(安装)npminstallvue-cli-首先安装vue-clivueinitwe...
- Vue.js 环境配置(vue的环境搭建)
-
说明:node.js和vue.js的关系:Node.js是一个基于ChromeV8引擎的JavaScript运行时环境;类比:Java的jvm(虚拟机)...
- vue项目完整搭建步骤(vuecli项目搭建)
-
简介为了让一些不太清楚搭建前端项目的小白,更快上手。今天我将一步一步带领你们进行前端项目的搭建。前端开发中需要用到框架,那vue作为三大框架主流之一,在工作中很常用。所以就以vue为例。...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 使用 Pinia ORM 管理 Vue 中的状态
- Vue3开发企业级音乐Web App 明星讲师带你学习大厂高质量代码
- 一篇文章说清 webpack、vite、vue-cli、create-vue 的区别
- 超赞 vue2/3 可视化打印设计VuePluginPrint
- 搭建Trae+Vue3的AI开发环境(vue3 ts开发)
- 如何在现有的Vue项目中嵌入 Blazor项目?
- Vue中mixin怎么理解?(vue的mixins有什么用)
- Vue脚手架安装,初始化项目,打包并用Tomcat和Nginx部署
- 新手如何搭建个人网站(小白如何搭建个人网站)
- 零基础入门vue开发(vue快速入门与实战开发)
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- node卸载 (33)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- exceptionininitializererror (33)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)