2016-12-09 19 views
9

Tôi đã nhìn xung quanh một chút, nhưng không tìm thấy một câu trả lời nhanh chóng cho điều này trong nhanh chóng 3. Tôi có được ngày trong tuần ngày nay như thế này:Nhận Weekday từ ngày - Swift 3

let weekday = Calendar.current.component(.weekday, from: Date()) 

Nhưng thay vào đó, tôi muốn lấy ngày trong tuần của một ngày cụ thể. Điều này được thực hiện như thế nào? Thanx

+2

Theo cùng một cách. Có chuyện gì vậy? Chỉ cần sử dụng "ngày đã cho" thay vì 'Date()'. – matt

Trả lời

26

Có lẽ bạn đã có Date?

let weekday = Calendar.current.component(.weekday, from: myDate) 

Có thể bạn muốn tên của ngày trong tuần?

let f = DateFormatter() 

f.weekdaySymbols[Calendar.current.component(.weekday, from: Date())] 

tra api NSCalendar/DateComponents hoặc chỉnh sửa câu hỏi của bạn được cụ thể hơn nếu bạn cần giúp đỡ với DateComponents api.

+3

Sử dụng 'Calendar' là' .iso8601' và UTC Ngày chỉ mục mà tôi nhận được từ Lịch của tôi cần được trừ đi 1. Khi ngày là chủ nhật, tôi có một chỉ mục nằm ngoài phạm vi tại 'f.shortWeekdaySymbols [dayIndex]' vì Chỉ mục ngày của tôi là '7' –

+0

Phải, -1 để nằm trong giới hạn mảng. – SoftDesigner

10
let date = Date() 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy" 

dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy" 
let currentDateString: String = dateFormatter.string(from: date) 
print("Current date is \(currentDateString)") 

Hôm nay là Thứ Hai 29 tháng 6, năm 2017