2017-01-05 1 views
1

私はDateComponentsFormatterを使って「1時間30分」というようなことを達成しています。これは私のコードです:DateComponentsFormatter - 分だけ記述された時間が表示されます - バグですか?

let formatter = DateComponentsFormatter() 
formatter.unitsStyle = .short 
formatter.allowedUnits = [.hour, .minute] 
return formatter.string(from: 90)! 

これは1時間30分ですが、出力は "1分"です。私のコードに何か問題がありますか、それともiOSのバグですか?

答えて

3

使用しているDataComponentsFormatter string(from: TimeInterval)メソッドの時間間隔は秒です。

したがって、フォーマッタには90分ではなく90秒をフォーマットするように求めています。

return formatter.string(from: 90 * 60)! // 90 minutes 

今までそのようなことについての疑いで、ドキュメントを読んで:

この

はあなたの問題を解決します。マニュアルでは、パラメータの説明について次のように示しています。

時間間隔(秒単位)。値は有限数でなければなりません。負の数は、文字列を作成するときに正の数として扱われます。

+0

オハイオ州、それは簡単でした:Dありがとう –

関連する問題