gpt4 book ai didi

ios - Swift - 整数转换为小时/分钟/秒

转载 作者:IT王子 更新时间:2023-10-29 04:56:45 36 4
gpt4 key购买 nike

我有一个(有点?)关于 Swift 中时间转换的基本问题。

我有一个整数,我想将其转换为小时/分钟/秒。

示例: Int = 27005 会给我:

7 Hours  30 Minutes 5 Seconds

我知道如何在 PHP 中执行此操作,但唉,swift 不是 PHP :-)

关于我如何快速实现这一目标的任何提示都太棒了!提前致谢!

最佳答案

定义

func secondsToHoursMinutesSeconds(_ seconds: Int) -> (Int, Int, Int) {
return (seconds / 3600, (seconds % 3600) / 60, (seconds % 3600) % 60)
}

使用

> secondsToHoursMinutesSeconds(27005)
(7,30,5)

let (h,m,s) = secondsToHoursMinutesSeconds(27005)

上述函数利用 Swift 元组一次返回三个值。您可以使用 let (var, ...) 语法解构元组,或者如果需要可以访问单个元组成员。

如果你真的需要用 Hours 等字样打印出来,那么使用这样的东西:

func printSecondsToHoursMinutesSeconds(_ seconds: Int) {
let (h, m, s) = secondsToHoursMinutesSeconds(seconds)
print ("\(h) Hours, \(m) Minutes, \(s) Seconds")
}

请注意,上述 secondsToHoursMinutesSeconds() 的实现适用于 Int 参数。如果你想要一个 Double 版本,你需要决定返回值是什么——可以是 (Int, Int, Double) 或者可以是 (Double,双倍,双倍)。你可以尝试这样的事情:

func secondsToHoursMinutesSeconds(seconds: Double) -> (Double, Double, Double) {
let (hr, minf) = modf(seconds / 3600)
let (min, secf) = modf(60 * minf)
return (hr, min, 60 * secf)
}

关于ios - Swift - 整数转换为小时/分钟/秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794703/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com