ESP32-arduino获取网络时间
上面代码是我从我的可以运行的程序上面复制下来的,但是没有进行单独验证,所以如果有问题大家可以把报错信息发给我看看都已经备注了,也没什么说的,望大家加油!!
·
前言
环境:Arduino
芯片:ESP32
一、上代码
#include <NTPClient.h>//获取网络时间的库
#include <WiFiUdp.h>
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP ,"ntp.aliyun.com");
void steup(){
timeClient.begin();//初始化
timeClient.setTimeOffset(28800);//设置偏移时间28800秒(8小时)
}
void loop(){
//获取显示的时间
timeClient.update();//更新时间信息
unsigned long epochTime = timeClient.getEpochTime();//获取时间戳
//换算成年月日
struct tm *ptm = gmtime((time_t *)&epochTime);//将时间戳转换为tm的结构体
int currentYear = ptm->tm_year + 1900;//年份
int currentMonth = ptm->tm_mon + 1;//月份
int currentMonthDay = ptm->tm_mday;//日期
int currentWeekDay = ptm->tm_wday;//获取星期几
int currentHour = ptm->tm_hour;//获取时
int currentMin = ptm->tm_min;//获取分
int currentSec = ptm->tm_sec;//获取秒
const char weekdays[8][10]={"0","周一","周二","周三","周四","周五","周六","周末"};
tft.println(weekdays[currentWeekDay]);//显示星期几
tft.println(timeClient.getHours());//显示时
tft.println(":");//显示:
tft.println(timeClient.getMinutes());//显示分
tft.println(timeClient.getFormattedTime());//显示时间,包含了时分秒
}
二、对代码介绍
1.声明
上面代码是我从我的可以运行的程序上面复制下来的,但是没有进行单独验证,所以如果有问题大家可以把报错信息发给我看看
总结
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)