【史上最全面arduino esp32教程】ESP32Time时间库

news2024/12/26 11:01:19

文章目录

  • 前言
  • 一、安装ESP32Time库
  • 二、ESP32Time使用
    • 2.1 基础使用
      • 构造ESP32Time对象
      • 设置当前时间
      • 获取当前时间结构体
    • 2.2 其他函数
  • 总结


前言

欢迎来到这篇Arduino ESP32教程!在本教程中,我们将介绍ESP32Time时间库的使用。时间在许多项目中起着重要的作用,尤其是在物联网应用中。ESP32Time是一个功能强大、易于使用的库,它提供了对时间和日期的处理功能,可以帮助您在ESP32开发中轻松管理时间。无论是实时时钟还是定时事件,ESP32Time都可以满足您的需求。接下来,让我们深入研究ESP32Time库的功能和用法吧!


一、安装ESP32Time库

你只需要进行下面操作即可安装ESP32Time库
在这里插入图片描述

二、ESP32Time使用

2.1 基础使用

构造ESP32Time对象

如果仅仅是基础使用,我们不需要使用有参数的构造函数,只需要使用无参即可:

ESP32Time();

设置当前时间

我们可以使用下面两个函数来设置当前时间:

void setTime(int sc, int mn, int hr, int dy, int mt, int yr, int ms = 0);
void setTimeStruct(tm t);

我们可以去设置他的具体时间,我们也可以使用tm结构体去设置时间

获取当前时间结构体

我们可以使用下面这个函数来获取时间结构体,结构体中的数据为当前时间:

tm getTimeStruct();

2.2 其他函数

String getTime(String format)
作用:获取当前时间的字符串表示,可以根据指定的格式进行格式化。
参数:
format时间格式标志符号:
HH:24 小时制的小时(00-23)
H:24 小时制的小时(0-23)
hh:12 小时制的小时(01-12)
h:12 小时制的小时(1-12)
mm:分钟(00-59)
ss:秒(00-59)
a:上午或下午的标记(AM/PM)
您可以使用任意字符来分隔时间格式标志符号,例如:HH:mm:ss。
您可以在格式字符串中添加其他文本,例如:现在是 HH:mm。
如果要显示日期,可以在格式字符串中添加日期相关标志符号,例如:YYYY-MM-DD HH:mm:ss。

返回值:返回一个String类型的值,表示格式化后的时间字符串。

String getTime()
作用:获取当前时间的字符串表示,默认以"HH:mm:ss"的格式返回。
返回值:返回一个String类型的值,表示当前时间的字符串表示。

String getDateTime(bool mode = false)
作用:获取当前日期和时间的字符串表示。
参数:
mode:一个布尔值参数,表示是否使用12小时制。默认为false,表示使用24小时制。
返回值:返回一个String类型的值,表示当前日期和时间的字符串表示。

String getTimeDate(bool mode = false)
作用:获取当前时间和日期的字符串表示。
参数:
mode:一个布尔值参数,表示是否使用12小时制。默认为false,表示使用24小时制。
返回值:返回一个String类型的值,表示当前时间和日期的字符串表示。

String getDate(bool mode = false)
作用:获取当前日期的字符串表示。
参数:
mode:一个布尔值参数,表示日期的格式。默认为false,表示使用年-月-日(YYYY-MM-DD)格式。
返回值:返回一个String类型的值,表示当前日期的字符串表示。

String getAmPm(bool lowercase = false)
作用:获取当前小时的AM/PM表示。
参数:
lowercase:一个布尔值参数,表示是否返回小写的AM/PM。默认为false,表示返回大写的AM/PM。
返回值:返回一个String类型的值,表示当前小时的AM/PM表示。

unsigned long getEpoch():
作用:获取当前时间的时间戳(Epoch时间),以秒为单位。
返回值:返回一个unsigned long类型的值,表示当前时间的时间戳。

unsigned long getMillis():
作用:获取自开启计时器以来的毫秒数。
返回值:返回一个unsigned long类型的值,表示自开启计时器以来经过的毫秒数。

unsigned long getMicros():
作用:获取自开启计时器以来的微秒数。
返回值:返回一个unsigned long类型的值,表示自开启计时器以来经过的微秒数。

int getSecond():
作用:获取当前时间的秒数。
返回值:返回一个int类型的值,表示当前时间的秒数。

int getMinute():
作用:获取当前时间的分钟数.
返回值:返回一个int类型的值,表示当前时间的分钟数。

int getHour(bool mode = false):
作用:获取当前时间的小时数。
参数:
mode:一个布尔值参数,表示是否使用12小时制。默认为false,表示使用24小时制。
返回值:返回一个int类型的值,表示当前时间的小时数

int getDay():
作用:获取当前日期的天数。
返回值:返回一个int类型的值,表示当前日期的天数。

int getDayofWeek():
作用:获取当前日期所在的星期几。
返回值:返回一个int类型的值,表示当前日期所在的星期几。

int getDayofYear():
作用:获取当前日期所在的年份中的天数。
返回值:返回一个int类型的值,表示当前日期所在的年份中的天数。

int getMonth():
作用:获取当前日期的月份。
返回值:返回一个int类型的值,表示当前日期的月份。

int getYear():
作用:获取当前日期的年份。
返回值:返回一个int类型的值,表示当前日期的年份。


总结

在本教程中,我们详细介绍了ESP32Time时间库的使用。该库提供了丰富的功能,包括实时时钟(RTC)管理、定时器事件处理、时间戳转换等。通过使用ESP32Time,您可以在ESP32项目中方便地管理时间和日期,实现各种时间相关的功能。我们探讨了如何初始化时间库、同步网络时间、获取当前时间以及使用定时器等操作。无论您是开发智能家居应用、物联网设备还是其他项目,ESP32Time都可以帮助您轻松处理时间问题。希望本教程对您有所帮助,祝您在ESP32开发中取得成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPC网络摄像头媒体视屏流MI_VIF结构体

一个典型的IPC数据流 下图是一个典型的IPC数据流模型,流动过程如下: 1. 建立Vif->Vpe->Venc的绑定关系; 2. Sensor 将数据送入vif处理; 3. Vif 将处理后的数据写入Output Port申请的内存,送入下一级;…

docker 不同架构镜像融合问题解决

1、背景 docker 作为目前容器的标准之一,但是对于多种架构的平台的混合编译支撑不是很好。因此衍生了镜像融合,分别将多种不同的架构构建好,然后将镜像进行融合上传。拉取镜像的会根据当前系统的架构拉取不同的镜像,也可以通过 -…

Redis 不再“开源”,对中国的影响及应对方案

Redis 不再“开源”,使用双许可证 3 月 20 号,Redis 的 CEO Rowan Trollope 在官网上宣布了《Redis 采用双源许可证》的消息。他表示,今后 Redis 的所有新版本都将使用开源代码可用的许可证,不再使用 BSD 协议,而是采用…

深入理解HTTP协议本质与应用

教程介绍 HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。简单来说,如果你不懂HTTP协议,那就相当于是个只有“半桶水”的程序员。在这个课程中,带你一起花最少的时间,用最少的精力…

前端学习笔记 | Node.js

一、Node.js入门 1、什么是Node.js 定义:是跨平台JS运行环境(可以独立执行JS的环境)作用: 编写数据接口,提供网页资源功能等等前端工程化:为后续学Vue和React等框架做铺垫 2、Node.js为何能执行JS&#xff…

html第一次作业

常用标签 0, 骨架&#xff08;&#xff01;tap&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

鸿蒙预览报错 Only files in a module can be previewed

HarmonyOS第一课下载的源码无法运行&#xff0c;也无法预览&#xff0c;报错如题。 解决&#xff1a; 1、在预览页如“index.ets”文件下预览。 2、如果在通知栏看到如图提示&#xff0c;可看出是ohos/hvigor-ohos-plugin插件版本的问题&#xff0c;可点击蓝色解决方案同步并导…

Llama 2 模型

非常清楚&#xff01;&#xff01;&#xff01;Llama 2详解 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/649756898?utm_campaignshareopn&utm_mediumsocial&utm_psn1754103877518098432&utm_sourcewechat_session一些补充理解&#xff1a; 序列化&#xff…

24---DDR4电路设计

视频链接 DDR4电路设计01_哔哩哔哩_bilibili DDR4硬件电路设计 1、DDR4基本介绍 2011年1月4日&#xff0c;三星电子完成史上第一条DDR4内存。DDR4相比DDR3最大的区别有三点&#xff1a;16bit预取机制&#xff08;DDR3为8bit&#xff09;&#xff0c;同样内核频率下理论速度…

Python RPA简单开发实践(selenium登陆浏览器自动输入密码登陆)

打开csdn博客&#xff0c;简单版 class BS:def __init__(self, url):self.url url# self.password password# self.username usernamedef login_url(self):from selenium import webdriver# 不自动关闭浏览器option webdriver.ChromeOptions()option.add_experimental_opt…

【Python 滑块不同的操作】对滑块进行处理,列如切割、还原、去除、无脑识别距离等等

文章日期&#xff1a;2024.03.23 使用工具&#xff1a;Python 类型&#xff1a;图片滑块验证的处理&#xff08;不限于识别距离&#xff09; 使用场景&#xff1a;&#xff1f; 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&a…

WPF 立体Border

WPF 立体Border &#xff0c;用来划分各个功能区块 在资源文件中&#xff0c;添加如下样式代码&#xff1a; <Style x:Key"BaseBorder" TargetType"Border"><Setter Property"Background" Value"White" /><Setter Prop…

RuoYi-Vue-Plus(基础知识点jackson、mybatisplus、redis)

一、JacksonConfig 全局序列化反序列化配置 1.1yml中配置 #时区 spring.jackson.time-zoneGMT8 #日期格式 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss #默认转json的属性&#xff0c;这里设置为非空才转json spring.jackson.default-property-inclusionnon_null #设置属性…

【数据结构】——栈与队列(附加oj题详解)深度理解

栈 1.栈的定义 栈&#xff1a;栈是仅限与在表尾进行插入或者删除的线性表 我们把允许一端插入和删除的一端叫做栈顶&#xff0c;另一端叫栈底&#xff0c;不含任何元素的栈叫做空栈&#xff0c;栈又叫做后进先出的线性表&#xff0c;简称LIFO结构 2.栈的理解 对于定义里面…

lvs+keepalived+nginx实现高可用

主机&#xff1a;192.168.199.132 备机&#xff1a;192.168.199.133 真实服务器1&#xff1a;192.168.199.134 真实服务器2&#xff1a;192.168.199.135 问题&#xff1a; 防火墙没关 132配置ipvsadm进行dr模式 132配置keepalived.conf 133配置ipvsadm进行dr模式 133配置ke…

数据结构(五)——二叉树的遍历和线索二叉树

5.3. 二叉树的遍历和线索二叉树 5.3.1_1 二叉树的先中后序遍历 遍历&#xff1a;按照某种次序把所有结点都访问一遍 二叉树的递归特性&#xff1a; ①要么是个空二叉树 ②要么就是由“根节点左子树右子树”组成的二叉树 先序遍历&#xff1a;根左右&#xf…

深度学习中的随机种子random_seed

解释 由于模型中的参数初始化例如权重参数如下图&#xff0c;就是随机初始化的&#xff0c;为了能够更好的得到论文中提到效果&#xff0c;可以设置随机种子&#xff0c;从而减少算法结果的随机性&#xff0c;使其接近于原始结果。 设置了随机种子&#xff0c;产生的随机数都…

硬核分享|AI语音识别转文字与自动生成字幕

硬核分享|AI语音识别转文字与自动生成字幕_哔哩哔哩_bilibili 在现代快节奏的生活中&#xff0c;语音转文字工具成为了我们工作和学习中的得力助手。它能够将我们说出的话语迅速转化为文字或者将语音视频自动生成字幕&#xff0c;提供便捷和高效。 语音转文字转字幕工具是一种…

spring boot商城、商城源码 欢迎交流

一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁&#xff0c;为生产环境多实例完全准备&#xff0c;数据库为b2b2c设计&#xff0c;拥有完整sku和下单流程的商城 联系: V-Tavendor

计算机网络:分层体系结构

计算机网络&#xff1a;分层体系结构 基本分层概述各层次的任务物理层数据链路层网络层运输层应用层 数据传递过程分层体系常见概念实体协议服务 基本分层概述 为了使不同体系结构的计算机网络都能互联&#xff0c;国际标准化组织于 1977 年成立了专门机构研究该问题。不久他们…