2016-05-02 86 views
1

我试图计算18:00 & 06:00之间的时差,并以相同的格式显示结果。两次都是手动输入。使用冒号计算时差

+0

你能告诉我们你试过的代码吗? – Steve

+0

这可能有助于http://stackoverflow.com/questions/24316521/time-comparisons-in-swift – Steve

+0

嗨史蒂夫时代艺术NSDate他们手动输入。 –

回答

1

首先从字符串输入的两个NSDates并获得两者之间的间隔,然后通过一个格式化功能,我们将创建间隔:

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和date2从我猜的文本字段在你的程序:两者秒钟,创建并返回一个字符串的函数。

+0

上面的代码工作。 –

+0

如何保存数据,即时差,一旦显示,我现在使用NSDate格式。 –

+0

你想如何保存它?你是在Mac或iOS设备上?这是您唯一保存的号码吗?这是一个很大的讨论,有很多方法。如果您只保存一个号码并且在iOS设备上,请执行谷歌搜索NSUserDefaults。 – Steve