DateComponentsを使って現在の年月を表示する方法です。
完成イメージ
実装方法
DateComponents
のextension
を作成します
.swift
extension DateComponents {
func getYearMonthFormat() -> String {
if let monthString = month, let yearString = year {
return String(format: "\(yearString)-%02d", monthString)
}
return ""
}
}
これによってDateComponents
から年月の表示を楽にすることができます。
NextLastDateViewModel.swift
class NextLastDateViewModel: ObservableObject {
@Published var text: String = ""
init() {
let component = Calendar.current.dateComponents(in: TimeZone.current, from: Date())
text = component.getYearMonthFormat()
}
}
Calendar.current.dateComponents
でDate()
を渡しているので現在のDateComponents
が取得できます。
先ほど作成したextension
を利用して年月を表示できます。
ViewModelとして今回は作成しました。
表示したいViewにtextを表示させれば完成です。