swift - 使用冒号计算时间差

标签 swift date

我正在尝试计算 18:00 和 06:00 之间的时间差并以相同的格式显示结果。这两个时间都是手动输入的。

最佳答案

首先从字符串输入创建两个 NSDate 并获取两者之间的间隔,然后将间隔传递给我们将创建的格式化函数:

let date1:String = "12:00"
let date2:String = "13:00"

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
let date3 = dateFormatter.dateFromString(date1)
let date4 = dateFormatter.dateFromString(date2)

let interval = date4!.timeIntervalSinceDate(date3!)
print("\(stringFromTimeInterval(interval))")

现在我们需要格式化间隔,即两者之间的秒数,因此创建一个返回字符串的函数:

func stringFromTimeInterval(interval: NSTimeInterval) -> String {
  let interval = Int(interval)
  let minutes = (interval / 60) % 60
  let hours = (interval / 3600)
  return String(format: "%02d:%02d", hours, minutes)
}

在您的情况下,您将根据我猜测程序中的文本字段设置日期1和日期2。

关于swift - 使用冒号计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36988042/

相关文章:

ios - 当 UILabel 的高度增长时, View 不会移动

php - 使用 MySql/PHP 解释日期

php 和 mySQL 日期不起作用 - 与美国和欧洲结构有关?

更改 View Controller 时的 iOS 有线卡住问题

ios - iOS 中另一个请求中的 HTTP 请求

swift - 如何将值从 EnvironmentObject 传递到 SwiftUI 中的类实例?

swift - 如何在 cocoa NSView 中设置背景图片

php - 选择日期大于当前日期的每个用户最近日期的行

SQL 日期公式

html5 datepicker设置最小值和最大值