[M1 Mac, Ventura 13.3.1, Xcode 14.3]
改良カレンダーをタップした時の表示に元号を追加しました。フォントサイズを大きくすると赤色でも問題なく読めます。
今回は日本固有の内容だったためかChatGPTの回答がかなり怪しく、大幅な修正を加えました。
import SwiftUI
struct ContentView: View {
let date: Date
var body: some View {
VStack (spacing: 15){
Text(getFormattedDate())
.font(.system(size: 30))
.foregroundColor(.green)
Text(getFormattedYear())
.font(.system(size: 30))
.foregroundColor(.red)
Text(getFormattedWeekday() + "曜日")
.font(.system(size: 30))
.foregroundColor(.yellow)
Text(getFormattedTime())
.font(.system(size: 30))
.foregroundColor(.blue)
}
.padding()
}
func getFormattedDate() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd"
return dateFormatter.string(from: date)
}
func getFormattedYear() -> String {
let calendar = Calendar(identifier: .japanese)
let year = calendar.component(.year, from: date)
return "令和" + String(year) + "年"
}
func getFormattedWeekday() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "E"
dateFormatter.locale = Locale(identifier: "ja_JP")
return dateFormatter.string(from: date)
}
func getFormattedTime() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
return dateFormatter.string(from: date)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(date: Date())
}
}