自esp32使用的c ++库中的纪元以来的时间

问题描述 投票:-1回答:1

[我正在尝试在c++中创建一个库,以供esp32使用,并可能在Linux或Windows中使用。

现在,我有一段代码获取自1970年1月1日以来的毫秒数。这在linux上运行良好。虽然,当esp32运行此代码时,它返回自程序启动以来的时间。问题的根源可能是我正在使用的库chrono使用方法millis(),在arduino情况下,该方法返回自程序启动以来的时间。

milliseconds ms = duration_cast< milliseconds >(
    system_clock::now().time_since_epoch()
);

我的问题是,从c++代码中的纪元开始在所有平台上都能正常工作吗?

c++ time chrono esp32
1个回答
0
投票

我设法通过使用宏将其修复:

const char* ntpServer = "pool.ntp.org"; 
const long gmtOffset_sec = 0; 
const int daylightOffset_sec = 3600; 
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); 
#endif

这样,esp32可以从ntpServer获取时间,而不是自程序启动以来获取时间。

© www.soinside.com 2019 - 2024. All rights reserved.