2017-09-18 1 views
1

このコードでは、現在の時刻を保存することができますが、分よりも小さい場合は、05:9,9:これをどうやって解決できますか?分が<9の場合は、前に0を追加します。

let date = Date() 
let calendar = Calendar.current 
let hour = calendar.component(.hour, from: date) 
let minutes = calendar.component(.minute, from: date) 
let Tijd = "\(hour) : \(minutes)" 
+1

適切に構成された日付形式で日付フォーマッタを使用します。この日付を自分で文字列変換に書き込まないでください。あなたと同じように、ほとんどの人は正しい日時にはいません。国際化について忘れることはできません。 – Alexander

+2

[Swift number formatting]の可能な複製(https://stackoverflow.com/questions/26167453/swift-number-formatting) –

+1

私が引用した質問は、一般的に文字列を先行ゼロで印刷するか、一定量のスペース。 –

答えて

3

2つの選択肢があります。

  1. String(format:)

    let date = Date() 
    let calendar = Calendar.current 
    let hour = calendar.component(.hour, from: date) 
    let minutes = calendar.component(.minute, from: date) 
    let tijd = String(format:"%d:%02d", hour, minutes) // change to "%02d:%02d" if you also want the hour to be 2-digits. 
    
  2. 使用DateFormatterを使用してください。

    let date = Date() 
    let df = DateFormatter() 
    df.dateFormat = "H:mm" // Use "HH:mm" if you also what the hour to be 2-digits 
    let tijd = df.string(from: date) 
    
+1

DateFormatter FTW –

関連する問題