在Swift中将计时器标签格式化为小时:分钟:秒

mjoe7:

我有一个NSTimer,它从2小时到0倒数。

这是我的一些代码:

var timer = NSTimer()
let timeInterval:NSTimeInterval = 0.5
let timerEnd:NSTimeInterval = 0.0
var timeCount:NSTimeInterval = 7200.0 // seconds or 2 hours

// TimeString Function

func timeString(time:NSTimeInterval) -> String {
    let minutes = Int(time) / 60
    let seconds = time - Double(minutes) * 60
    let secondsFraction = seconds - Double(Int(seconds))
    return String(format:"%02i:%02i.%01i",minutes,Int(seconds),Int(secondsFraction * 10.0))
}

计时器标签为:

TimerLabel.text = "Time: \(timeString(timeCount))"

但是,我的计时器标签显示为:

Time: 200:59.0

如何格式化计时器标签,使其看起来像这样:

Time: 01:59:59 // (which is hours:minutes:seconds)?

[请注意,我的倒数计时器没有问题,我只需要知道如何使用TimeString函数更改时间格式。]

编辑:有人提到我的问题可能是此问题的重复:Swift-iOS-日期和时间采用不同格式但是,我在问如何使用上面给出的TimeString函数更改时间格式。我不是在要求另一种方法。

例如:

let minutes = Int(time) / 60

给我200分钟 等等

rmaddy:

您的计算都是错误的。

let hours = Int(time) / 3600
let minutes = Int(time) / 60 % 60
let seconds = Int(time) % 60
return String(format:"%02i:%02i:%02i", hours, minutes, seconds)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将计时器从秒格式化为mm:ss

在简单的秒表上将计时器TextView格式化为[m:ss]

尝试将计时器格式化为 5:00 而不是 500

快速倒数计时器标签,用于天/小时/分钟/秒

如何为倒数计时器添加格式小时/分钟/秒

将TimeSpan格式化为小时,分钟和秒

ASP.NET 倒数计时器(小时、分钟、秒)

使用Swift将实时秒表计时器格式化为百分之一

如何显示在HH倒数计时器:MM:SS(小时:分钟:秒)

当分钟和秒为0时,倒数计时器不会减少小时数

Javasacript倒数计时器,以天,小时,分钟,秒为单位

在计时器中以两位数显示小时、分钟和秒

JS 倒数计时器(天:分钟:小时:秒)不起作用

您如何在Objective-C中将计时器显示为屏幕上的标签?

如何在 Google 表格中将数字格式化为人类可读的小时和分钟?

如何将WPF计时器格式化为HH:MM:SS

我该如何在C#中制作一个倒计时计时器,该计时器占小时,分钟和秒?

如何为倒数计时器实现单独的分钟和秒标签

分钟/秒倒数计时器没有计时吗?

将双精度格式格式化为分钟和秒

每小时计时器,但从 1 分钟开始

如何在Android中将计时器用作倒数计时器

Flutter:倒数计时器,显示分钟和秒

在Swift中将for循环与计时器同步

我如何在lua中将时间格式化为秒?

如何将计时器从秒数转换为分钟和秒数?

在业务对象中将计时器格式hh:mm转换为十进制格式hh.decimal(mm)

如何将分钟格式化为小时和分钟,但仅在> 60分钟时才显示小时?

将分钟值格式化为“ N小时,M分钟”字符串的公式