2 // TimerCountFormatter.swift
5 // Created by Hori,Masaki on 2017/01/04.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 final class TimerCountFormatter: Formatter {
13 override func string(for obj: Any?) -> String? {
16 if let o = obj as? NSNumber { return o.doubleValue }
17 if let o = obj as? Date { return Double(o.timeIntervalSince1970) }
21 guard let value = v else { return "" }
24 let interval = minus ? -value : value
26 let hour = Int(interval / (60 * 60))
27 let minComp = interval - Double(hour * 60 * 60)
28 let minutes = Int(minComp / 60)
29 let secComp = minComp - Double(minutes * 60)
30 let seconds = Int(secComp)
32 return String(format: "%@%02ld:%02ld:%02ld", arguments: [(minus ? "-" : ""), hour, minutes, seconds])