
26
|
第
1
章
//
游戏一旦启动,保存当前时间到该属性
self.gameStartDate = Date()
当需要计算游戏用掉的总用时时,创建一个
Date
对象并调用
timeIntervalSince
方法来获得游戏时间:
let now = Date()
let timeSinceGameStart = now
.timeIntervalSince(self.gameStartDate!)
NSLog("The game started \(timeSinceGameStart) seconds ago")
讨论
Date
能够表示时间轴上的任意点。它能够表示任何你想引用的时间点,比如游戏
启动的一瞬间。实际上
Date
对象能够指向任何已经过去的时间或者是未来的时间,
而且这个时间是非常精确的。
当你用
Date()
方法创建一个
Date
对象时,得到的实际上是表示当前时间的一个
Date
对象(也就是这个
Date
对象被创建的时间)。
要计算两个
Date
之间的差,我们可以用
timeIntervalSince:
方法。这个方法返回
一个
TimeInterval
,是一个浮点数。这个浮点数是以秒为计算单位的,你可能需
要用代码将它转换为小时分钟数:
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute, .second]
formatter.unitsStyle = .positional
let formattedString ...