OSDN Git Service

関数名を変更
[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 final class TimerCountFormatter: Formatter {
12     
13     override func string(for obj: Any?) -> String? {
14         
15         let v: Double? = {
16             if let o = obj as? NSNumber { return o.doubleValue }
17             if let o = obj as? Date { return Double(o.timeIntervalSince1970) }
18             return nil
19         }()
20         
21         guard let value = v else { return "" }
22         
23         let minus = value < 0
24         let interval = minus ? -value : value
25         
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)
31         
32         return String(format: "%@%02ld:%02ld:%02ld", arguments: [(minus ? "-" : ""), hour, minutes, seconds])
33     }
34 }