如何解决如何将小数转换为时间格式?科特林
val duration = df.format(videoView!!.duration.toLong() / 100000.0)
持续时间以小数形式给出答案,例如0.45,我想设为0:45。
(这些信息以秒为单位,我不想显示单位。将此信息写在方括号中仅供参考)
解决方法
将毫秒数除以100,000并不能真正给您任何收益。最好除以1000(而不是除以1000.0。因为您可能不需要毫秒,也可以四舍五入到最接近的整数值,但这取决于您):
fptr
然后,您可以将val durationInSeconds:Int = df.format(videoView!!.duration.toLong() / 1000)
除以60(结果是整数)来计算分钟数。
duratinInSeconds
然后您计算秒数:
val minutes:Int = durationInSeconds/60
最后,您将val seconds:Int = durationInSeconds%60
和minutes
组合在一起:
seconds
最简单的方法是使用replace方法:
val time = "$duration".replace(".",":")
或者,如果您愿意,也可以使用Java SimpleDateFormat or DateTimeFormatter。因此可以使用该模式并使程序更灵活。
,我将首先尝试以秒或毫秒为单位获取时间值,然后尝试将其格式化为以下格式:
//t is given in seconds
fun formatTime(t: Int) : String{
var hours = t / 3600
var minutes = (t % 3600) / 60
var seconds = t % 60
return "$hours:$minutes:$seconds"
}
print(formatTime(12345)) //prints 3:25:45
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。