12:02:21.3213
〜NSTimeInterval
のように文字列の値を解析する方法は? NSDateComponentsFormatter
は、iOS8以降で使用でき、書式設定のみをサポートし、解析はできません。ここでNSTimeIntervalに文字列をパースする方法
5
A
答えて
7
あなたはスウィフトでそれを行うことができる方法である。
func parseDuration(timeString:String) -> NSTimeInterval {
guard !timeString.isEmpty else {
return 0
}
var interval:Double = 0
let parts = timeString.componentsSeparatedByString(":")
for (index, part) in parts.reverse().enumerate() {
interval += (Double(part) ?? 0) * pow(Double(60), Double(index))
}
return interval
}
それはバルトシュHernasが提供するソリューションは、私のために働いた 2:12:12
、 02:01:23.123213
6
のような値のために働く、ありがとうございました!便宜上
、ここではスウィフト3ためのものです:[?どうやってNSDateに文字列を日付に変換することができます]
func parseDuration(_ timeString:String) -> TimeInterval {
guard !timeString.isEmpty else {
return 0
}
var interval:Double = 0
let parts = timeString.components(separatedBy: ":")
for (index, part) in parts.reversed().enumerated() {
interval += (Double(part) ?? 0) * pow(Double(60), Double(index))
}
return interval
}
関連する問題
- 1. 文字列型の別のarraylistに文字列をパースする方法
- 2. 文字列をanglejの日付にパースする方法
- 3. jqueryパース文字列
- 4. この文字列を正規表現で配列オブジェクトにパースする方法
- 5. パースの日付文字列
- 6. 文字列をbool、float、数字、日付または文字列にパースする
- 7. 文字列の日付をMongoDBの日付の型にパースする方法
- 8. Python:配列を文字列にパースする
- 9. PHP:文字列["key"、 "value"]を連想配列にパースする
- 10. バーストsrciptの文字列をパース
- 11. すぐに文字列配列にJSONオブジェクトをパース
- 12. ルビーの文字列からトークンをパースするための明確な方法
- 13. C++異なるデータ型変数に文字列をパースする
- 14. Powershell - パースSystem.Data.DataRowから文字列へ
- 15. Javaの文字列にHTMLをパースする
- 16. Objective-C:オブジェクトに文字列をパースする
- 17. スタンフォードコアnlpのタグ付き文字列をハッシュにパースするRuby
- 18. 大きなバイナリ文字列を基数10にパースする
- 19. VB.NETでEnum値に文字列をパースする
- 20. BASH: - 文字列を別々のコマンドライン引数にパースする
- 21. httpからjsonの文字列を角度オブジェクトにパースする
- 22. Pythonのユニコード文字列を辞書にパースする
- 23. コンソール出力を個々の文字列にパースする
- 24. Javascript文字列とパースで絵文字を検索
- 25. 継続時間を表す文字列をパースする
- 26. AlamofireがjsonをSwiftの文字列配列にパースする方法はありますか?
- 27. 正規表現を使用して文字列をパースする
- 28. awkを使ってファイルから文字列をパースする
- 29. Objc Regex - グループを含む文字列をパースする
- 30. パースされた文字列をクリックイベントハンドラに渡す
の可能性のある重複(http://stackoverflow.com/questions/24777496/how -can-i-convert-string-date-to-nsdate) – rghome
@rghome:いいえ、重複ではなく、少なくとも*その*の質問ではありません。 - 「12:02:21.3213」ここでは、ある時点(NSDateになる)としてではなく、* duration *(NSTimeIntervalとして表すことができます)です。 –
おそらく正確な重複はありません。 1970年1月1日の時刻を解析し、その日付の間隔を取得することができます。私は、それは単なる別の答えであると思います。 – rghome