C++ <ctime> 打印错误的日期
C++ <ctime> printing wrong date
我正在使用一台小型pcb微型计算机进行一个小型项目。我已经写了一些代码来获取日期和时间并打印它,但它打印的日期错误。打印开始日期:
1月1日00:00:00 2066
下面是我使用的代码段,去掉了不相关的比特。任何解决这个问题的帮助都将有助于
#include<ctime>
static char* DateTime()
{
time_t now = time(0);
char* dateTime = ctime(&now);
return dateTime;
};
我读过其他一些类似的问题,但我还没能成功地得出解决方案,我觉得我使用的微型计算机可能在我的问题中发挥了作用。我使用的主板是STM32 Nucleo。
通常嵌入式板有一个时钟,每次重置cpu时都会重置。除非你明确设定了日期,否则董事会无法了解实际时间。
计算机使用NTP协议自动更新时间,这对于没有某种操作系统的微控制器(例如Raspberry)来说是不正确的。
在像时钟这样的项目中,通常使用一个外部时钟IC来保存日期和时间,并使用一个小电池来实现全天候供电而不会丢失日期。
这是一个页面,提供了更多关于该主题以及如何在微控制器上处理时间的信息https://learn.adafruit.com/ds1307-real-time-clock-breakout-board-kit
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 无法在初始化时将"日期"转换为"int"作为错误
- Rcpp/C++/R:比较日期时间矢量与日期时间时出错(错误:"运算符>"的不明确重载)
- Visual 2015 上的 std::get_time 不会在错误的日期失败
- "日期":'class'类型重新定义:错误(日历.cpp文件错误)
- 该代码的主要错误是什么,用于确定n`天后日期
- 在 CLI 中转换日期时间time_t错误处理C++是否安全
- C++ <ctime> 打印错误的日期
- 这是Zeller程序的代码.除了1111年2月31日、1111年6月31日这一通常是错误的日期外,一切都很顺利
- NTP服务器总是返回相同的错误日期(窗口)
- 提升公历日期格式会产生错误的结果
- C++提升库 - 正确处理日期序列内存分配错误
- c++ to_string日期错误
- c++ boost regex日期错误
- Boost 1.53本地日期时间编译器错误使用-std=c++0x
- Visual Studio 2012中Boost posix日期和时间的编译错误