前言

环境: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.声明

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

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


总结

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐