Я хочу получить две даты, первый и последний день текущего месяца.Довольно простоНо date(bySetting: Calendar.Component, value: Int, of: Date)
не работают должным образом.
Посмотрите этот фрагмент кода:
Когда Date()
печатает 2019-04-18 14:11:36 UTC
let calendar = Calendar.current
let firstDayDate = calendar.date(bySetting: .day, value: 1, to: Date())! //2019-05-01 03:00:00 UTC
let firsDayNextMonth = calendar.date(byAdding: .month, value: 1, to: firstDayDate)! //2019-06-01 03:00:00 UTC
let lastDayMonthDate = calendar.date(bySetting: .day, value: -1, to: firsDayNextMonth)! //2019-05-31 03:00:00 UTC
Посмотрите на значение firstDayDate
, значение дня установлено в 1, нополучить добавленную 1 к значению месяца.
Пожалуйста, скажите мне, если я что-то забыл, но для меня это выглядит как ошибка
Obs: Теперь я могу сделать это, используя DateComponent
, но если это ошибка, я хочуотправьте сообщение об ошибке в apple.
Edit1: Я не спрашиваю, как получить первый и последний день текущего месяца.Я знаю, как это сделать, используя другие методы, но, как я объясню, я думаю, что есть ошибка в методе date(byAdding: Calendar.Component, value: Int, to: Date)
или если я не использую это должным образом.