我正在尝试使用 F# 将秒的特定值转换为以下格式:
00d 00h 00m 00s
我确信我的计算是正确的,但它也给出了错误的分钟数。我的代码如下:
let sum = 266521
let day = sum / 86400
let leftover = sum % 86400
let hour = leftover / 3600
leftover = leftover % 3600
let minute = leftover / 60
leftover = leftover % 60
86400 -> Seconds in a day
3600 -> Seconds in an hour
60 -> Seconds in a minute.
我正在尝试进行这种贪婪计算,但它为我提供了以下值: 3d 2h 122m 7321s
但是不能是122m,应该是小时。我不明白我的错误在哪里。 你能帮助我吗? 提前致谢
最佳答案
仅利用内置功能怎么样?
> open System;;
> let secs = 266521;;
val secs : int = 266521
> let s = (TimeSpan.FromSeconds (float secs)).ToString "d\d\ hh\h\ mm\m\ ss\s";;
val s : string = "3d 02h 02m 01s"
关于math - 将秒转换为日、时、分和秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24677019/