🕰️

SwiftUIで時刻を日本語表示する

2023/12/27に公開

対象者

  • SwiftUIの経験がある
  • 実機でビルドしたら時間が日本語表示になってなくて困っている人

やること/やらないこと

SwiftUIで開発をしていて、時刻が日本語表示になっていないことがあった。シュミレーターの時は、表示されていたのに...
なので、今回は日本語対応した時間表示をする方法について記事を書こうと思います。

詳しく追求していかないので、こうすれば良いって感じで進めていきます。

こちらを参考にしました:
https://tech.amefure.com/swift-datepicker

プロジェクトの説明

新しくSwiftUIでプロジェクトを作成して以下のコードを書いてください:

import SwiftUI

struct ContentView: View {
    @State  var selectedDate:Date = Date()
    var body: some View {
        VStack {
            DatePicker(selection: $selectedDate,
                label: {}
            ).padding()
            .environment(\.locale, Locale(identifier: "ja_JP"))
            .datePickerStyle(WheelDatePickerStyle())
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

正しく設定できていれば日本語表示されているはずです。

カレンダーにしたかったらこんな感じのコードになります:

import SwiftUI

struct ContentView: View {
    @State  var selectedDate:Date = Date()
    var body: some View {
        VStack {
            DatePicker(selection: $selectedDate,
                label: {}
            ).padding()
            .environment(\.locale, Locale(identifier: "ja_JP"))
//            .datePickerStyle(WheelDatePickerStyle())
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

感想

よく調べないで、時刻の表示をする機能を個人開発で使っていたので、今回のOutputを活かして正しい日本語表示の時刻を表示する入力機能を実装したいと思いました。

Jboy王国メディア

Discussion