let calendar = Calendar.current
var dateComponents = DateComponents()
dateComponents.weekday = calendar.firstWeekday
dateComponents.weekOfYear = 2
dateComponents.year = 2017
let startOfWeek = calendar.date(from: dateComponents)
let endOfWeek = calendar.date(byAdding: .day, value: 6, to: startOfWeek!)
let formatter = DateFormatter()
formatter.dateStyle = .short
print(formatter.string(from: startOfWeek!))
print(formatter.string(from: endOfWeek!))
in:Bắt sai bắt đầu và ngày kết thúc từ weekOfYear
1/8/17
1/14/17
đang thay đổi:
dateComponents.weekOfYear = 1
dateComponents.year = 2017
in:
12/31/17
1/6/18
tại sao 12/31/17?
có ai cho tôi biết không? cảm ơn rất nhiều.
thử mà không tạo các định dạng ngắn, in toàn bộ ngày –
Sử dụng ['yearForWeekOfYear'] (https://developer.apple.com/reference/foundation/datecomponents/1779818-yearforweekofyear) thay vì 'year' khi làm việc với' weekOfYear'. – user28434
cảm ơn bạn rất nhiều – 7owen