首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阿迪诺,把分钟转换成hh秒

阿迪诺,把分钟转换成hh秒
EN

Stack Overflow用户
提问于 2020-04-07 10:30:58
回答 2查看 3.4K关注 0票数 0

你能帮我一下吗?

我有一个很长的代码在Arduino控制一个水循环系统,但是,我可以计算剩余的时间,以结束操作在几分钟内。例如,3780.67分钟。请您写一段代码来转换这些分钟,以便在几小时、几分钟、几秒内显示。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-07 10:58:42

代码语言:javascript
运行
复制
float minutes_total = 63.5; // example data

int hours = minutes_total / 60;
int minutes = minutes_total - (hours * 60);
int seconds = (minutes_total - (hours * 60) - minutes) * 60;

希望这就是你要找的。

票数 1
EN

Stack Overflow用户

发布于 2020-04-07 11:04:39

Arduino millis至小时

如果您想在使用Arduino millis作为计时器时达到几个小时,则需要进行更多的除法:

代码语言:javascript
运行
复制
 Minutes = ( millis()/1000 ) / 60;

 Hours = ( ( millis()/1000 ) / 60 ) / 60;

Arduino millis致数天

完整的时间值集中在这里:

代码语言:javascript
运行
复制
 Days = Hours/24;

 Hours = Minutes / 60;

 Minutes = Seconds / 60;

 Seconds = millis()/1000;

变量天数的最大值只能为49.7天( millis()的滚动)。注:自小时起。分钟、秒和天的最大值只能在255以下,您可以对上述每个数量使用uint8_t类型。uint8_t与“无符号字符”相同。这里有一个启用时钟显示的函数:

代码语言:javascript
运行
复制
unsigned long Now = millis()/1000;
// we use modulo to split the parts
int Seconds = Now%60;
int Minutes = (Now/60)%60;
int Hours = (Now/3600)%24;
int Days = (Now/3600*24);
String time = Days + "-" + Hours + ":" + Minutes + ":" + Seconds ;
 Serial.println(time);

编辑特殊需要使用浮点(?)作为时间输入

代码语言:javascript
运行
复制
float time = 723.5;
int Seconds = 60 * (time - (int)time + 0.00005); // rounding for extraction needed
// we use modulo to split the parts and int casting to extract integer part
int Minutes = (int)(time )%60; // we cast float to int
int Hours = ((int)time /60)%24;
int Days = ((int)time /60*24);
String timeDisplay = Days + "-" + Hours + ":" + Minutes + ":" + Seconds ;
 Serial.println(timeDisplay);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61077963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档