OSDN Git Service

AppDelegateからウインドウに関する部分を分離した
[kcd/KCD.git] / KCD / TimerCountFormatter.swift
1 //
2 //  TimerCountFormatter.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/01/04.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 class TimerCountFormatter: Formatter {
12     override func string(for obj: Any?) -> String? {
13         let v: Double? = {
14             if let o = obj as? NSNumber { return o.doubleValue }
15             if let o = obj as? Date { return Double(o.timeIntervalSince1970) }
16             return nil
17         }()
18         guard let value = v else { return "" }
19         
20         let minus = value < 0
21         var interval = minus ? -value : value
22         
23         let hour = Int(interval / ( 60 * 60))
24         interval -= Double(hour * 60 * 60)
25         let minutes = Int(interval / 60)
26         interval -= Double(minutes * 60)
27         let seconds = Int(interval)
28         
29         return String(format: "%@%02ld:%02ld:%02ld", arguments: [(minus ? "-" : ""), hour, minutes, seconds])
30     }
31 }