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

举报
人才程序员 发表于 2024/03/31 16:47:03 2024/03/31
【摘要】 @TOC 前言欢迎来到这篇Arduino ESP32教程!在本教程中,我们将介绍ESP32Time时间库的使用。时间在许多项目中起着重要的作用,尤其是在物联网应用中。ESP32Time是一个功能强大、易于使用的库,它提供了对时间和日期的处理功能,可以帮助您在ESP32开发中轻松管理时间。无论是实时时钟还是定时事件,ESP32Time都可以满足您的需求。接下来,让我们深入研究ESP32Time...

@TOC


前言

欢迎来到这篇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开发中取得成功!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。