我得到了从某个事件传递的seconds
的数量。它以NSTimeInterval
数据类型存储。
我想把它转换成minutes
和seconds
。
例如,我有:"326.4“秒,我想将其转换为以下字符串:"5:26”。
实现这一目标的最佳方法是什么?
谢谢。
发布于 2009-07-27 16:42:37
伪代码:
minutes = floor(326.4/60)
seconds = round(326.4 - minutes * 60)
发布于 2013-03-09 07:04:33
所有这些看起来都比实际需要的复杂!下面是一种将时间间隔转换为小时、分钟和秒的简短而甜蜜的方法:
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让你感觉更好的话:-)
发布于 2010-11-13 05:39:19
原谅我是个Stack处女..。我不知道该如何回答Brian Ramsay的回答。
对于介于59.5和59.99999之间的第二个值,使用round不起作用。在此期间,第二个值将为60。使用trunc代替...
double progress;
int minutes = floor(progress/60);
int seconds = trunc(progress - minutes * 60);
https://stackoverflow.com/questions/1189252
复制相似问题