c++ - MKTIME 总是返回 -1 (Window10_64bit / MSVS2019 / C++)
问题描述
我有问题..我不明白为什么函数 MKTIME 总是返回 -1
#include <Windows.h>
#include <stdio.h>
#include <time.h>
using namespace std;
int main() {
time_t now = time(NULL);
struct tm today;
localtime_s(&today, &now);
today.tm_year += 1900;
today.tm_mon += 1;
time_t t_today = mktime(&today);
printf("%ld", (long)t_today);
return 0;
}
t_today 是 -1
解决方案
mktime
最多只能处理 3000 年。添加 1900 年today.tm_year
将超过此限制。(1970 + 1900 = 3870) 尝试更小的偏移量。
参考:
推荐阅读
- amazon-web-services - ACM 中无法删除的证书 - 附加到 AWS 内部资源
- javascript - 如何在 react-chartjs-2 中的图表标签上添加 onclick 事件?
- apache-spark - 如何根据spark中给定的输入文件大小计算执行器、内核和内存?
- electron - 打包后电子vue-vite不工作?
- vlang - 结构必须有一个 `next()` 方法才能成为迭代器
- c# - 在 webbrowser 中查找元素并分别在 csharp 中添加到列表框
- sql - ORA-02292: 违反完整性约束 - 找到子记录 - PLSQL
- react-hooks - 倒数计时器变为负数
- c# - 用逻辑运算符确定差异
- stored-procedures - 动态 SQL 日期标头