Я весь день ломал голову над этой проблемой и, похоже, не могу найти решение. У меня есть фитнес-программа, которая запрашивает хранилище данных о здоровье. В предикате ForSamples (withStart: myStartDate, end: myEndDate) я обнаружил, что получение даты из datePicker отправляет момент времени, и поэтому мой запрос не возвращает результаты за весь день, как мне бы хотелось. Итак, я решил, что если я возьму дату datePicker и преобразую ее в начальный и конечный формат, моя проблема будет решена. Однако использование let date = dateFormatter.date (from: dateString) возвращает правильную дату, но время возвращается как 04:00:00 +0000 для обеих функций.
Если у кого-то есть предложение, пожалуйста, не стесняйтесь протянуть руку помощи. Большое вам спасибо!
func convertStartDate(StartDate: Date) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyy-MM-dd '00':'00':'01' +0000"
let dateString = dateFormatter.string(from: StartDate)
print("convertingStartDate() - \(dateString)")
let date = dateFormatter.date(from: dateString)
print(date as Any)
return date!
}
func convertEndDate(EndDate: Date) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyy-MM-dd '23':'59':'59' +0000"
let dateString = dateFormatter.string(from: EndDate)
print("convertingEndDate() - \(dateString)")
let date = dateFormatter.date(from: dateString)
return date!
}