Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++&书信电报;ctime>;打印错误的日期_C++_Datetime_Epoch - Fatal编程技术网

C++ C++&书信电报;ctime>;打印错误的日期

C++ C++&书信电报;ctime>;打印错误的日期,c++,datetime,epoch,C++,Datetime,Epoch,我正在使用一台小型pcb微型计算机进行一个小项目。我写了一些代码来获取日期和时间并打印出来,但打印的日期是错误的。开始打印的日期: 2066年1月1日00:00:00 下面是我使用的代码段,去掉了不相关的位。任何解决此问题的帮助都会很有帮助 #include<ctime> static char* DateTime() { time_t now = time(0); char* dateTime = ctime(&now); return da

我正在使用一台小型pcb微型计算机进行一个小项目。我写了一些代码来获取日期和时间并打印出来,但打印的日期是错误的。开始打印的日期:

2066年1月1日00:00:00

下面是我使用的代码段,去掉了不相关的位。任何解决此问题的帮助都会很有帮助

 #include<ctime>



static char* DateTime()
{
   time_t now = time(0);  
   char* dateTime = ctime(&now);
    return dateTime;
};
#包括
静态字符*DateTime()
{
现在时间=时间(0);
char*dateTime=ctime(&now);
返回日期时间;
};

我读过一些其他类似的问题,但我没有能够成功地得出一个解决方案,我觉得事实上我使用的是一台微型计算机可能在我的问题中扮演了一个角色。我使用的板是STM32 Nucleo。

通常,嵌入式板有一个时钟,每当您重置cpu时,该时钟就会重置。除非你明确设定了日期,否则董事会无法了解实际时间

计算机使用NTP协议自动更新时间,这对于没有某种操作系统的微控制器(例如Raspberry)是不正确的

在像时钟这样的项目中,通常使用外部时钟IC来保存日期和时间,并使用一个小电池,以便能够24/7供电而不会丢失日期


这是一个页面,提供了有关该主题的更多信息以及如何在微控制器上处理时间

必要的标题是C.C11标准草案n1570:7.27.2.4时间功能1#包括时间时间(time#t*timer);3[…]如果日历时间不可用,则返回值(time_t)(-1)。[<…>代码>包含< /Cord> >行无效。C中,您使用C++,更改文本和标记。他们是不同的语言。C也不支持方法。看,你的实际问题是什么还不清楚。然而,在MCU上,通常只存在独立的环境,因此标准库的全部或部分可能不可用。我的错,我知道我的意思是轻微的错误,更正它以正确的语言。在日期格式方面也做同样的事情。2066年,你的函数仍然不是一种方法。在C++中,分化变得更相关,因为两者都是可能的。我其余的评论仍然有效。您确定该函数存在并产生任何有效结果吗?你检查过空指针了吗?你的问题不完整。谢谢,这很有用。你知道我怎样才能让它从电脑上拨出时间来,因为它在操作时总是插在电脑上。这意味着它的时间不相关,只与它的来源(即计算机)的时间相关。