首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将NSTimeInterval (秒)转换为分钟

如何将NSTimeInterval (秒)转换为分钟
EN

Stack Overflow用户
提问于 2009-07-27 16:39:56
回答 10查看 175.6K关注 0票数 105

我得到了从某个事件传递的seconds的数量。它以NSTimeInterval数据类型存储。

我想把它转换成minutesseconds

例如,我有:"326.4“秒,我想将其转换为以下字符串:"5:26”。

实现这一目标的最佳方法是什么?

谢谢。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-07-27 16:42:37

伪代码:

代码语言:javascript
复制
minutes = floor(326.4/60)
seconds = round(326.4 - minutes * 60)
票数 147
EN

Stack Overflow用户

发布于 2013-03-09 07:04:33

所有这些看起来都比实际需要的复杂!下面是一种将时间间隔转换为小时、分钟和秒的简短而甜蜜的方法:

代码语言:javascript
复制
NSTimeInterval timeInterval = 326.4;
long seconds = lroundf(timeInterval); // Since modulo operator (%) below needs int or long

int hour = seconds / 3600;
int mins = (seconds % 3600) / 60;
int secs = seconds % 60;

注意当你把一个浮点数放到一个整数中时,你会自动得到floor(),但是你可以把它加到前两个中,如果if让你感觉更好的话:-)

票数 43
EN

Stack Overflow用户

发布于 2010-11-13 05:39:19

原谅我是个Stack处女..。我不知道该如何回答Brian Ramsay的回答。

对于介于59.5和59.99999之间的第二个值,使用round不起作用。在此期间,第二个值将为60。使用trunc代替...

代码语言:javascript
复制
 double progress;

 int minutes = floor(progress/60);
 int seconds = trunc(progress - minutes * 60);
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1189252

复制
相关文章

相似问题

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