【发布时间】:2018-12-26 07:59:46
【问题描述】:
我在minutes中有一个号码,例如:
Int totalminutes= 342
我想这样显示它:
5h:42m:..s
我做了一个 scala 函数将分钟转换为小时并返回 HH:MM:SS
scala> def convertSeconds(input:Int):String ={
| val totalMinutes = input/60
| val seconds = input%60
| val minutes = totalMinutes%60
| val hours = totalMinutes%60
|
| return "%sh:%sm:%ss".format(hours,minutes,seconds)
| }
convertSeconds: (input: Int)String
我做了我的测试:
scala> convertSeconds(120) // 120 minutes
res22: String = 2h:2m:0s // why it add 2 minutes
scala> convertSeconds(60) // 60 minutes
res23: String = 1h:1m:0s // adding 1 minute
scala> convertSeconds(36) // 36 minutes
res24: String = 0h:0m:36s // I want to return 0h:30m:06s
解决办法是:
scala> def convertSeconds(input:Int):String ={
//val totalMinutes = input/60
//val seconds = input/60%60
val minutes = input%60
val hours = input/60
return "%sh:%sm".format(hours,minutes)
}
convertSeconds: (input: Int)String
scala> convertSeconds(36)
res57: String = 0h:36m
scala> convertSeconds(120)
res58: String = 2h:0m
scala> convertSeconds(122)
res59: String = 2h:2m
scala> convertSeconds(2166)
res60: String = 36h:6m
【问题讨论】:
-
您使用相同的公式计算分钟和小时,因此您将得到相同的数字。
-
我编辑了我的问题,谢谢
-
如果一个方法将
36转换为0h:36m,它可能应该被称为convertMinutes... -
@vero - 您在问题中回答了您的问题。对 SO 的期望方法是自我回答问题。
-
我建议你在这里找到一些灵感:Why can't I get a duration in minutes or hours in java.time?(答案是你可以)