私は少し調べましたが、Swift 3.でこれに対する簡単な答えを見つけられませんでした。
let weekday = Calendar.current.component(.weekday, from: Date())
しかし、代わりに、特定の日付の平日を取得したいと思います。これはどのように行われますか?ありがとう
おそらくあなたはDate
をすでに持っていますか?
let weekday = Calendar.current.component(.weekday, from: myDate)
たぶん、あなたは平日の名前が欲しいですか?
let f = DateFormatter()
f.weekdaySymbols[Calendar.current.component(.weekday, from: Date())]
DateComponents APIのヘルプが必要な場合は、NSCalendar
/DateComponents
APIを調査するか、質問をより具体的に編集してください。
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
//OR dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy"
let currentDateString: String = dateFormatter.string(from: date)
print("Current date is \(currentDateString)")
現在の日付は2017年6月29日月曜日です
TimeZoneのdayNumberコンポーネントが必要な場合
func dayNumberOfWeek() -> Int? {
let timeZone = TimeZone(abbreviation: "EDT")
let component = Calendar.current.dateComponents(in: timeZone!, from: self)
return component.day
}
Swift4はDateFormatterから平日を取得します
func getTodayWeekDay()-> String{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let weekDay = dateFormatter.string(from: Date())
return weekDay
}
ローカル形式を取得するには、次を使用できます。
extension Date{
func stringValueFullWithTime()-> String?{
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
dateFormatter.timeStyle = . short
dateFormatter.locale = Locale.current
return dateFormatter.string(from: self)
}
これはドイツ語のローカルとして印刷されます:
ソンタグ、2018年11月11日、午前11時17分