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.声明

上面代码是我从我的可以运行的程序上面复制下来的,但是没有进行单独验证,所以如果有问题大家可以把报错信息发给我看看

都已经备注了,也没什么说的,望大家加油!!


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值