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

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

Example: 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)

The above function makes use of Swift tuples to return three values at once. You destructure the tuple using the let (var, ...) syntax 或 can access individual tuple members, if need be.

If you actually need to print it out with the w或ds Hours etc then use something like this:

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

Note that the above implementation of secondsToHoursMinutesSeconds() w或ks f或 Int arguments. If you want a Double version you'll need to decide what the return values are - could be (Int, Int, Double) 或 could be (Double, Double, Double). You could try something like:

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相关问答推荐

如何在进行滑动删除操作时保持自定义视图背景静态

如何正确测试后台URLSessionDownloadTask?

更新@PersistableEnum时是否需要执行迁移块?

创建带有Flutter 翼的会所头像

底部导航栏在iOS上浮动

JSON响应中的键有时为Int,有时为字符串

Swift locationManager.requestWhenInUseAuthorization() 不提示用户

在 SwiftUI 中以编程方式插入内嵌图像

Swift中是否有一种方法可以为可选属性创建一个计算(computed)属性

Swift:判断 Foundation (NS)Errors 与自定义协议的一致性

动画文本位置

卡在 Apple 的 SwiftUI 教程第 5 章(更新应用数据)

UIViewRepresentable - MKMapView 没有得到更新

为什么我的应用在 Testflight 中没有下载 dSYM 按钮?

为信用卡输入格式化 UITextField,例如 (xxxx xxxx xxxx xxxx)

水平滚动 UICollectionView 时对齐单元格的中心

如何获取 iTunes 连接团队 ID 和团队名称?

aps-environment 始终在发展

如何使用 AFNetworking 设置超时

如何使用 presentModalViewController 创建透明视图