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
22             else { return "" }
23         
24         let minus = value < 0
25         var interval = minus ? -value : value
26         
27         let hour = Int(interval / (60 * 60))
28         interval -= Double(hour * 60 * 60)
29         let minutes = Int(interval / 60)
30         interval -= Double(minutes * 60)
31         let seconds = Int(interval)
32         
33         return String(format: "%@%02ld:%02ld:%02ld", arguments: [(minus ? "-" : ""), hour, minutes, seconds])
34     }
35 }