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

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

```

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

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
現在の時刻のみを取得したい
最後の行を

```

    let now: String = dataforatter.date(from: Date())
    
```

とすれば動きます。

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

```

    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))
    }
    
```

と、日付文字列をパースする時と、出力するときでプロパティ`dateFormat`を随時必要な形式に更新してあげれば`Date().description`からでも時刻部分だけが取り出せます。
CC BY-SA 4.0
2020-03-23T07:05:06.157
64038
2020-03-23T07:05:06.157
14745
64033
answer