Я пытаюсь вернуться в понедельник 00:00 с моей даты. Это мой код:Как получить понедельник 00:00 текущей недели? Swift 3
func getMonday(myDate: Date) -> Date {
let cal = Calendar.current
let comps = cal.dateComponents([.weekOfYear, .yearForWeekOfYear], from: myDate)
let beginningOfWeek = cal.date(from: comps)!
return beginningOfWeek
}
Моя проблема в том, что он не возвращается в понедельник 00:00, а в субботу 22:00.
Пример:
let monday1 = getMonday(myDate: date) //date is: 2016-10-04 17:00:00
print(monday1) //Prints: 2016-10-01 22:00:00 (Saturday)
Мой вопрос:
Как вернуть понедельник 00:00 от myDate
?
спасибо.
Печать даты всегда использует GMT, поэтому я предполагаю, что на самом деле вывод '2016-10-01 22:00:00 + 0000', который является' 2016-10-02 00:00: 00' в вашем часовом поясе, то есть в воскресенье. «Календарь» имеет свойство «firstWeekday», которое контролирует, какой день считается первым за неделю, возможно, вам нужно установить его на 2 = понедельник. –