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? {
17 if let o = obj as? NSNumber { return o.doubleValue }
19 if let o = obj as? Date { return Double(o.timeIntervalSince1970) }
24 guard let value = v else {
30 let interval = minus ? -value : value
32 let hour = Int(interval / (60 * 60))
33 let minComp = interval - Double(hour * 60 * 60)
34 let minutes = Int(minComp / 60)
35 let secComp = minComp - Double(minutes * 60)
36 let seconds = Int(secComp)
38 return String(format: "%@%02ld:%02ld:%02ld", arguments: [(minus ? "-" : ""), hour, minutes, seconds])