64038


お世話になっております。  
森と申します。  
質問させてください。

やりたいことは、現在の時刻のみを取得したい（日付情報はいらない）のですが、  
以下のコードを書いてみたところ、

[code]

    let dateFormatter = DateFormatter()
    dateFormatter.timeZone  = TimeZone.current
    dateFormatter.locale  = Locale.current
    dateFormatter.dateFormat = "HH:mm:ss"
    let now = dateFormatter.date(from: Date().description)
    
[/code]

nowがnilになってしまいます。  
Date().descriptionは、  
「2020-03-23 02:13:50 +0000」  
となっております。

どなたかわかる方、  
ご教授をお願い出来ますでしょうか。  
宜しくお願いいたします。


CC BY-SA 4.0
2020-03-23T02:47:32.560
64033
2020-03-23T07:05:06.157
23788
question
swift ios
現在の時刻のみを取得したい


最後の行を

[code]

    let now: String = dataforatter.date(from: Date())
    
[/code]

とすれば動きます。

もしくは、`.date(from string: String)`をどうしても使いたいのであれば、

[code]

    let dateFormatter = DateFormatter()
    dateFormatter.timeZone  = TimeZone.current
    dateFormatter.locale  = Locale.current
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZZ" // パースのためのフォーマット
    let dateForTime: Date? = dateFormatter.date(from: Date().description)
    if let date: Date = dateForTime {
        dateFormatter.dateFormat = "HH:mm:ss"             // 出力のためのフォーマット
        print(dateFormatter.string(from: date))
    }
    
[/code]

と、日付文字列をパースする時と、出力するときでプロパティ`dateFormat`を随時必要な形式に更新してあげれば`Date().description`からでも時刻部分だけが取り出せます。


CC BY-SA 4.0
2020-03-23T07:05:06.157
64038
2020-03-23T07:05:06.157
14745
64033
answer