秒数 ->時刻形式(HH:mm:ss)に変換する方法 – Swift4.0

カウントダウンタイマー的なコードを書く中で、秒数を日付単位に変換したくなり調べたので備忘録

サンプルコード

デバッグエリアの出力内容

コードの説明

DateComponentsFormatterのunitsStyleを使うことで様々な形式に変換できます。
Shortとfullなどの違いが出ていないものもありますが、allowedUnitsを指定することで時間ではなく日時に変換することが可能なので、試してみてください。

なお、zeroFormattingBehaviorを指定まると、ある単位で値が0になるときの振る舞いも指定することができます。

また、Optionalなので「data!」とあんラップしていますが、何もつけないとOptional(“2:46:40”)となります。

日付が日本語にならない場合

アプリを海外対応させたいのであれば、ローカライズが必要になります。
簡易的に行うには下記で可能です。

・「info.plist」ファイルを選択
・一番上の方の「Localization native development region」 -> Value:「$(DEVELOPMENT_LANGUAGE)」を「Japan」にする


お知らせ

ヒヨコ歩数計という歩きながらヒヨコが育っていくアプリを作って、いろんな方に結構使ってもらっています。
RealmSwift, Admobの動画・インステ・バナー広告、UICollectionView、iOS-Charts、UITableViewを使用しているので、是非ご利用ください!