esp32获取年月日时间
时间: 2023-07-17 11:11:35 浏览: 210
在ESP32上,你可以使用RTC(实时时钟)模块来获取年、月、日的时间。以下是一个使用ESP32内置RTC模块的示例代码:
```cpp
#include <RTClib.h>
RTC_DS1307 rtc;
void setup() {
Serial.begin(9600);
rtc.begin();
if (!rtc.isrunning()) {
Serial.println("RTC is not running!");
// 在这里你可以设置RTC的初始时间
// rtc.adjust(DateTime(2022, 1, 1, 0, 0, 0));
}
}
void loop() {
DateTime now = rtc.now();
int year = now.year();
int month = now.month();
int day = now.day();
Serial.print("Current date: ");
Serial.print(year);
Serial.print("-");
Serial.print(month);
Serial.print("-");
Serial.println(day);
delay(1000);
}
```
在此示例中,我们使用了RTClib库来与ESP32的RTC模块进行通信。在`setup()`函数中,我们初始化了串口和RTC,并检查RTC是否正在运行。如果RTC没有运行,你可以通过调用`rtc.adjust()`函数来设置初始时间。
在`loop()`函数中,我们使用`rtc.now()`函数获取当前的日期和时间。通过调用`year()`、`month()`和`day()`函数,我们将年、月和日分别存储在变量中,并在串口上打印出来。
请确保在使用此代码之前,你已经正确连接了ESP32的RTC模块。