Swift Calendar、指定LocalでshortMonthSymbols使用
お題
日本語Local環境で「Nov」と変換したい。
Calendar.current.shortMonthSymbols[10]
11月と表示される。
解決方法
var calendar = Calendar.current calendar.locale = Locale(identifier: "en") calendar. shortMonthSymbols[10]
複数箇所で使用したい為、Extension
import Foundation extension Calendar { static func monthSymbols(local: Locale) -> [String] { var calendar = Calendar.current calendar.locale = local return calendar.monthSymbols } static func standaloneMonthSymbols(local: Locale) -> [String] { var calendar = Calendar.current calendar.locale = local return calendar.standaloneMonthSymbols } static func shortMonthSymbols(local: Locale) -> [String] { var calendar = Calendar.current calendar.locale = local return calendar.shortMonthSymbols } static func shortStandaloneMonthSymbols(local: Locale) -> [String] { var calendar = Calendar.current calendar.locale = local return calendar.shortStandaloneMonthSymbols } }
使用例
Calendar.shortMonthSymbols(local: Locale(identifier: "en"))[10]